OmniSciDB  2e3a973ef4
SQLTypeInfo Class Reference

#include <sqltypes.h>

Public Member 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, int d, int s)
 
 SQLTypeInfo (SQLTypes t, bool n)
 
 SQLTypeInfo (SQLTypes t)
 
 SQLTypeInfo (SQLTypes t, bool n, EncodingType c)
 
 SQLTypeInfo ()
 
HOST DEVICE SQLTypes get_type () const
 
HOST DEVICE SQLTypes get_subtype () const
 
HOST DEVICE int get_dimension () const
 
int get_precision () const
 
HOST DEVICE int get_input_srid () const
 
HOST DEVICE int get_scale () const
 
HOST DEVICE int get_output_srid () const
 
HOST DEVICE bool get_notnull () const
 
HOST DEVICE EncodingType get_compression () const
 
HOST DEVICE int get_comp_param () const
 
HOST DEVICE int get_size () 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 set_type (SQLTypes t)
 
HOST DEVICE void 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_compression (EncodingType c)
 
void set_comp_param (int p)
 
std::string get_type_name () const
 
std::string get_compression_name () const
 
std::string to_string () 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_varlen () const
 
bool is_varlen_indeed () const
 
bool is_dict_encoded_string () const
 
HOST DEVICE bool operator!= (const SQLTypeInfo &rhs) const
 
HOST DEVICE bool operator== (const SQLTypeInfo &rhs) const
 
int get_array_context_logical_size () const
 
HOST DEVICE void operator= (const SQLTypeInfo &rhs)
 
bool is_castable (const SQLTypeInfo &new_type_info) const
 
HOST DEVICE bool is_null (const Datum &d) const
 
HOST DEVICE bool is_null (const int8_t *val) const
 
HOST DEVICE bool is_null_fixlen_array (const int8_t *val, int array_size) const
 
HOST DEVICE bool 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 Member Functions

HOST DEVICE int get_storage_size () const
 

Private Attributes

SQLTypes type
 
SQLTypes subtype
 
int dimension
 
int scale
 
bool notnull
 
EncodingType compression
 
int comp_param
 
int size
 

Static Private Attributes

static std::string type_name [kSQLTYPE_LAST]
 
static std::string comp_name [kENCODING_LAST]
 

Detailed Description

Definition at line 209 of file sqltypes.h.

Constructor & Destructor Documentation

◆ SQLTypeInfo() [1/7]

SQLTypeInfo::SQLTypeInfo ( SQLTypes  t,
int  d,
int  s,
bool  n,
EncodingType  c,
int  p,
SQLTypes  st 
)
inline

Definition at line 211 of file sqltypes.h.

212  : type(t)
213  , subtype(st)
214  , dimension(d)
215  , scale(s)
216  , notnull(n)
217  , compression(c)
218  , comp_param(p)
219  , size(get_storage_size()) {}
SQLTypes subtype
Definition: sqltypes.h:658
bool notnull
Definition: sqltypes.h:661
EncodingType compression
Definition: sqltypes.h:662
HOST DEVICE int get_storage_size() const
Definition: sqltypes.h:669
SQLTypes type
Definition: sqltypes.h:657
int comp_param
Definition: sqltypes.h:663
int dimension
Definition: sqltypes.h:659

◆ SQLTypeInfo() [2/7]

SQLTypeInfo::SQLTypeInfo ( SQLTypes  t,
int  d,
int  s,
bool  n 
)
inline

Definition at line 220 of file sqltypes.h.

221  : type(t)
222  , subtype(kNULLT)
223  , dimension(d)
224  , scale(s)
225  , notnull(n)
227  , comp_param(0)
228  , size(get_storage_size()) {}
SQLTypes subtype
Definition: sqltypes.h:658
bool notnull
Definition: sqltypes.h:661
EncodingType compression
Definition: sqltypes.h:662
HOST DEVICE int get_storage_size() const
Definition: sqltypes.h:669
SQLTypes type
Definition: sqltypes.h:657
int comp_param
Definition: sqltypes.h:663
int dimension
Definition: sqltypes.h:659

◆ SQLTypeInfo() [3/7]

SQLTypeInfo::SQLTypeInfo ( SQLTypes  t,
int  d,
int  s 
)
inline

Definition at line 229 of file sqltypes.h.

229 : SQLTypeInfo(t, d, s, false) {}

◆ SQLTypeInfo() [4/7]

SQLTypeInfo::SQLTypeInfo ( SQLTypes  t,
bool  n 
)
inline

Definition at line 230 of file sqltypes.h.

231  : type(t)
232  , subtype(kNULLT)
233  , dimension(0)
234  , scale(0)
235  , notnull(n)
237  , comp_param(0)
238  , size(get_storage_size()) {}
SQLTypes subtype
Definition: sqltypes.h:658
bool notnull
Definition: sqltypes.h:661
EncodingType compression
Definition: sqltypes.h:662
HOST DEVICE int get_storage_size() const
Definition: sqltypes.h:669
SQLTypes type
Definition: sqltypes.h:657
int comp_param
Definition: sqltypes.h:663
int dimension
Definition: sqltypes.h:659

◆ SQLTypeInfo() [5/7]

SQLTypeInfo::SQLTypeInfo ( SQLTypes  t)
inline

Definition at line 239 of file sqltypes.h.

239 : SQLTypeInfo(t, false) {}

◆ SQLTypeInfo() [6/7]

SQLTypeInfo::SQLTypeInfo ( SQLTypes  t,
bool  n,
EncodingType  c 
)
inline

Definition at line 240 of file sqltypes.h.

241  : type(t)
242  , subtype(kNULLT)
243  , dimension(0)
244  , scale(0)
245  , notnull(n)
246  , compression(c)
247  , comp_param(0)
248  , size(get_storage_size()) {}
SQLTypes subtype
Definition: sqltypes.h:658
bool notnull
Definition: sqltypes.h:661
EncodingType compression
Definition: sqltypes.h:662
HOST DEVICE int get_storage_size() const
Definition: sqltypes.h:669
SQLTypes type
Definition: sqltypes.h:657
int comp_param
Definition: sqltypes.h:663
int dimension
Definition: sqltypes.h:659

◆ SQLTypeInfo() [7/7]

SQLTypeInfo::SQLTypeInfo ( )
inline

Definition at line 249 of file sqltypes.h.

250  : type(kNULLT)
251  , subtype(kNULLT)
252  , dimension(0)
253  , scale(0)
254  , notnull(false)
256  , comp_param(0)
257  , size(0) {}
SQLTypes subtype
Definition: sqltypes.h:658
bool notnull
Definition: sqltypes.h:661
EncodingType compression
Definition: sqltypes.h:662
SQLTypes type
Definition: sqltypes.h:657
int comp_param
Definition: sqltypes.h:663
int dimension
Definition: sqltypes.h:659

Member Function Documentation

◆ get_array_context_logical_size()

int SQLTypeInfo::get_array_context_logical_size ( ) const
inline

Definition at line 465 of file sqltypes.h.

References kENCODING_DICT, kENCODING_FIXED, and kENCODING_NONE.

Referenced by ResultSet::makeVarlenTargetValue().

465  {
466  if (is_string()) {
467  auto comp_type(get_compression());
468  if (comp_type == kENCODING_DICT || comp_type == kENCODING_FIXED ||
469  comp_type == kENCODING_NONE) {
470  return sizeof(int32_t);
471  }
472  }
473  return get_logical_size();
474  }
bool is_string() const
Definition: sqltypes.h:417
HOST DEVICE EncodingType get_compression() const
Definition: sqltypes.h:267
int get_logical_size() const
Definition: sqltypes.h:270
+ Here is the caller graph for this function:

◆ get_array_type()

SQLTypeInfo SQLTypeInfo::get_array_type ( ) const
inline

Definition at line 628 of file sqltypes.h.

References kARRAY, and run_benchmark_import::type.

Referenced by Parser::OperExpr::normalize().

628  {
630  }
bool notnull
Definition: sqltypes.h:661
EncodingType compression
Definition: sqltypes.h:662
SQLTypes type
Definition: sqltypes.h:657
int comp_param
Definition: sqltypes.h:663
int dimension
Definition: sqltypes.h:659
+ Here is the caller graph for this function:

◆ get_comp_param()

HOST DEVICE int SQLTypeInfo::get_comp_param ( ) const
inline

Definition at line 268 of file sqltypes.h.

Referenced by Analyzer::Expr::add_cast(), Analyzer::UOper::add_cast(), Analyzer::CaseExpr::add_cast(), Catalog_Namespace::Catalog::addColumn(), Catalog_Namespace::Catalog::addReferenceToForeignDict(), RelLogicalUnion::checkForMatchingMetaInfoTypes(), CodeGenerator::codegen(), CodeGenerator::codegenCastFromString(), CodeGenerator::codegenCompression(), Analyzer::BinOper::common_string_type(), Geospatial::compress_coord(), Geospatial::compress_coords(), Geospatial::compress_null_point(), DictionaryConverterFactory< TARGET_TYPE >::create(), Encoder::Create(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::create_parquet_decimal_encoder(), Catalog_Namespace::Catalog::createTable(), DateDaysOverflowValidator::DateDaysOverflowValidator(), decompress(), Catalog_Namespace::Catalog::delDictionary(), Parser::InsertValuesStmt::determineLeafIndex(), DictionaryValueConverter< TARGET_TYPE >::DictionaryValueConverter(), Geospatial::get_compression_scheme(), anonymous_namespace{TypedDataAccessors.h}::get_element_size(), get_logical_type_info(), Catalog_Namespace::Catalog::getColumnDictDirectory(), ArrowResultSetConverter::initializeColumnBuilder(), inline_fixed_encoding_null_val(), anonymous_namespace{RelAlgExecutor.cpp}::insert_one_dict_str(), Geospatial::is_null_point(), foreign_storage::ParquetDataWrapper::loadBuffersUsingLazyParquetChunkLoader(), Parser::OperExpr::normalize(), operator!=(), TextConverterFactory::operator()(), operator=(), operator==(), DBHandler::populateThriftColumnType(), anonymous_namespace{TypedDataAccessors.h}::put_scalar(), Catalog_Namespace::Catalog::removeTableFromMap(), Catalog_Namespace::Catalog::setColumnDictionary(), Catalog_Namespace::Catalog::setColumnSharedDictionary(), Analyzer::UOper::toString(), ThriftSerializers::type_info_to_thrift(), Fragmenter_Namespace::InsertOrderFragmenter::updateColumn(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_date_mapping(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_integral_mapping(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_time_mapping(), and File_Namespace::FileBuffer::writeMetadata().

268 { return comp_param; }
int comp_param
Definition: sqltypes.h:663
+ Here is the caller graph for this function:

◆ get_compression()

HOST DEVICE EncodingType SQLTypeInfo::get_compression ( ) const
inline

Definition at line 267 of file sqltypes.h.

Referenced by Analyzer::Expr::add_cast(), Analyzer::Constant::add_cast(), Analyzer::UOper::add_cast(), Analyzer::CaseExpr::add_cast(), Catalog_Namespace::Catalog::addColumn(), Parser::InValues::analyze(), Parser::FunctionRef::analyze(), Parser::QuerySpec::analyze_group_by(), CodeGenerator::castArrayPointer(), ChunkIter_get_next(), ChunkIter_get_nth(), CodeGenerator::codegenCastFromString(), CodeGenerator::codegenCmp(), CodeGenerator::codegenCompression(), CodeGenerator::codegenHoistedConstantsLoads(), CodeGenerator::codgenAdjustFixedEncNull(), Analyzer::BinOper::common_string_type(), Geospatial::compress_coord(), Geospatial::compress_coords(), Geospatial::compress_null_point(), Encoder::Create(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::create_parquet_decimal_encoder(), Catalog_Namespace::Catalog::createTable(), DatumEqual(), decompress(), Analyzer::Expr::decompress(), Catalog_Namespace::Catalog::delDictionary(), encoding_to_thrift(), RelAlgExecutor::executeSimpleInsert(), extract_from_datum(), ChunkMetadata::fillChunkStats(), anonymous_namespace{ColumnarResults.cpp}::fixed_encoding_nullable_val(), Geospatial::get_compression_scheme(), anonymous_namespace{TypedDataAccessors.h}::get_element_size(), anonymous_namespace{TargetExprBuilder.cpp}::get_initial_agg_val(), get_logical_type_info(), Chunk_NS::Chunk::getChunkBuffer(), Parser::LocalConnector::getColumnDescriptors(), Catalog_Namespace::Catalog::getColumnDictDirectory(), Chunk_NS::Chunk::getNumElemsForBytesInsertData(), import_export::Loader::getStringDict(), ResultSet::getTargetValueFromBufferRowwise(), Chunk_NS::Chunk::initEncoder(), inline_fixed_encoding_null_val(), inline_int_null_val(), CgenState::inlineIntNull(), FixedLengthArrayNoneEncoder::is_null(), Geospatial::is_null_point(), is_real_str_or_array(), is_unsigned_type(), Fragmenter_Namespace::isStringVectorData(), ResultSet::makeVarlenTargetValue(), Parser::OperExpr::normalize(), null_val_bit_pattern(), numeric_type_name(), operator!=(), TextConverterFactory::operator()(), operator=(), operator==(), Parser::InsertIntoTableAsSelectStmt::populateData(), DBHandler::populateThriftColumnType(), anonymous_namespace{TypedDataAccessors.h}::put_scalar(), Catalog_Namespace::Catalog::removeTableFromMap(), anonymous_namespace{TableOptimizer.cpp}::set_metadata_from_results(), Fragmenter_Namespace::sizeOfRawColumn(), RelAlgTranslator::translateGeoLiteral(), import_export::TypedImportBuffer::TypedImportBuffer(), ExpressionRange::typeSupportsRange(), FixedLengthArrayNoneEncoder::update_elem_stats(), ArrayNoneEncoder::update_elem_stats(), Fragmenter_Namespace::InsertOrderFragmenter::updateColumn(), foreign_storage::ArrayMetadataStats::updateStats(), anonymous_namespace{InputMetadata.cpp}::uses_int_meta(), ddl_utils::validate_and_set_array_size(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_date_mapping(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_decimal_mapping(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_integral_mapping(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_none_type_mapping(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_string_mapping(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_time_mapping(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_timestamp_mapping(), and File_Namespace::FileBuffer::writeMetadata().

267 { return compression; }
EncodingType compression
Definition: sqltypes.h:662

◆ get_compression_name()

std::string SQLTypeInfo::get_compression_name ( ) const
inline

Definition at line 394 of file sqltypes.h.

Referenced by Analyzer::UOper::toString().

394 { return comp_name[(int)compression]; }
EncodingType compression
Definition: sqltypes.h:662
static std::string comp_name[kENCODING_LAST]
Definition: sqltypes.h:667
+ Here is the caller graph for this function:

◆ get_dimension()

HOST DEVICE int SQLTypeInfo::get_dimension ( ) const
inline

Definition at line 261 of file sqltypes.h.

Referenced by Catalog_Namespace::Catalog::addColumn(), Analyzer::BinOper::analyze_type_info(), Analyzer::Constant::cast_string(), Analyzer::Constant::cast_to_string(), CodeGenerator::codegenCast(), CodeGenerator::codegenCastBetweenTimestamps(), CodeGenerator::codegenDateTruncHighPrecisionTimestamps(), CodeGenerator::codegenExtractHighPrecisionTimestamps(), CodeGenerator::codgenAdjustFixedEncNull(), Analyzer::BinOper::common_numeric_type(), Analyzer::BinOper::common_string_type(), Catalog_Namespace::Catalog::createTable(), DatumToString(), Analyzer::Expr::decompress(), Analyzer::Constant::do_cast(), anonymous_namespace{TypedDataAccessors.h}::get_element_size(), anonymous_namespace{Execute.cpp}::get_hpt_overflow_underflow_safe_scaled_values(), get_logical_type_info(), anonymous_namespace{ExpressionRange.cpp}::getDateTimePrecisionCastRange(), DateTimeTranslator::getDateTruncConstantValue(), DateTimeTranslator::getExtractFromTimeConstantValue(), operator!=(), operator=(), operator==(), parse_numeric(), Parser::InsertIntoTableAsSelectStmt::populateData(), anonymous_namespace{TypedDataAccessors.h}::put_scalar(), StringToDatum(), Fragmenter_Namespace::InsertOrderFragmenter::updateColumn(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_timestamp_mapping(), and File_Namespace::FileBuffer::writeMetadata().

261 { return dimension; }
int dimension
Definition: sqltypes.h:659
+ Here is the caller graph for this function:

◆ get_elem_type()

SQLTypeInfo SQLTypeInfo::get_elem_type ( ) const
inline

Definition at line 624 of file sqltypes.h.

References kNULLT.

Referenced by import_export::TypedImportBuffer::add_value(), Parser::FunctionRef::analyze(), anonymous_namespace{ResultSetIteration.cpp}::build_array_target_value(), CodeGenerator::codegenArrayBuff(), CodeGenerator::codegenFunctionOperCastArgs(), ArrayConverterFactory< ELEMENT_FACTORY >::create(), DateDaysOverflowValidator::DateDaysOverflowValidator(), datum_to_string(), DecimalOverflowValidator::DecimalOverflowValidator(), Analyzer::Constant::do_cast(), RelAlgExecutor::executeSimpleInsert(), get_bit_width(), get_compact_type(), anonymous_namespace{ExtensionsIR.cpp}::get_llvm_type_from_sql_array_type(), anonymous_namespace{TableFunctionCompilationContext.cpp}::get_llvm_type_from_sql_column_type(), foreign_storage::get_sub_type_column_descriptor(), getLeafColumnRange(), is_castable(), foreign_storage::AllowedParquetMetadataTypeMappings::isColumnMappingSupported(), ResultSet::isNull(), lazy_decode(), foreign_storage::ParquetDataWrapper::loadBuffersUsingLazyParquetChunkLoader(), ResultSet::makeTargetValue(), ResultSet::makeVarlenTargetValue(), anonymous_namespace{ExtensionFunctionsBinding.cpp}::match_arguments(), import_export::NullArray(), NullAwareValidator< INNER_VALIDATOR >::NullAwareValidator(), ArraysConverterFactory::operator()(), ChunkMetadata::operator==(), Parser::InsertIntoTableAsSelectStmt::populateData(), ResultSetReductionJIT::reduceOneSlot(), ResultSetStorage::reduceOneSlot(), foreign_storage::ParquetFixedLengthArrayEncoder::setNullFixedLengthArraySentinel(), import_export::StringToArray(), import_export::TDatumToArrayDatum(), Analyzer::Constant::toString(), ThriftSerializers::type_info_to_thrift(), ExpressionRange::typeSupportsRange(), ddl_utils::validate_and_set_array_size(), DBHandler::value_to_thrift(), and DBHandler::value_to_thrift_column().

624  {
625  return SQLTypeInfo(
627  }
SQLTypes subtype
Definition: sqltypes.h:658
bool notnull
Definition: sqltypes.h:661
EncodingType compression
Definition: sqltypes.h:662
int comp_param
Definition: sqltypes.h:663
int dimension
Definition: sqltypes.h:659
+ Here is the caller graph for this function:

◆ get_input_srid()

HOST DEVICE int SQLTypeInfo::get_input_srid ( ) const
inline

Definition at line 263 of file sqltypes.h.

Referenced by RelAlgTranslator::translateBinaryGeoFunction(), RelAlgTranslator::translateGeoFunctionArg(), and RelAlgTranslator::translateUnaryGeoFunction().

263 { return dimension; }
int dimension
Definition: sqltypes.h:659
+ Here is the caller graph for this function:

◆ get_logical_size()

int SQLTypeInfo::get_logical_size ( ) const
inline

Definition at line 270 of file sqltypes.h.

References get_size(), kENCODING_DATE_IN_DAYS, kENCODING_DICT, kENCODING_FIXED, kENCODING_NONE, and run_benchmark_import::type.

Referenced by CodeGenerator::codegenCastBetweenIntTypes(), CodeGenerator::codegenCastBetweenIntTypesOverflowChecks(), CodeGenerator::codgenAdjustFixedEncNull(), Parser::InsertValuesStmt::determineLeafIndex(), get_agg_initial_val(), StorageIOFacility< RelAlgExecutorTraits >::getRsBufferNoPadding(), inline_int_null_val(), anonymous_namespace{TypedDataAccessors.h}::is_null(), is_unsigned_type(), anonymous_namespace{ExtensionFunctionsBinding.cpp}::match_arguments(), numeric_type_name(), and Fragmenter_Namespace::sizeOfRawColumn().

270  {
273  return ti.get_size();
274  }
275  if (compression == kENCODING_DICT) {
276  return 4;
277  }
278  return get_size();
279  }
HOST DEVICE int get_size() const
Definition: sqltypes.h:269
SQLTypes subtype
Definition: sqltypes.h:658
bool notnull
Definition: sqltypes.h:661
EncodingType compression
Definition: sqltypes.h:662
SQLTypes type
Definition: sqltypes.h:657
int dimension
Definition: sqltypes.h:659
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_notnull()

HOST DEVICE bool SQLTypeInfo::get_notnull ( ) const
inline

Definition at line 266 of file sqltypes.h.

Referenced by import_export::TypedImportBuffer::add_arrow_values(), import_export::TypedImportBuffer::add_value(), import_export::TypedImportBuffer::add_values(), Catalog_Namespace::Catalog::addColumn(), Parser::InsertValuesStmt::analyze(), Analyzer::BinOper::analyze_type_info(), anonymous_namespace{ResultSetIteration.cpp}::GeoTargetValueBuilder< GEO_SOURCE_TYPE, GeoTargetFetcher >::build(), ChunkIter_get_nth(), ChunkIter_get_nth_point_coords(), CodeGenerator::codegen(), CodeGenerator::codegenCast(), CodeGenerator::codegenCastBetweenIntTypes(), CodeGenerator::codegenCastBetweenIntTypesOverflowChecks(), CodeGenerator::codegenCastFromFp(), CodeGenerator::codegenCastToFp(), CodeGenerator::codegenDateTruncHighPrecisionTimestamps(), CodeGenerator::codegenDiv(), CodeGenerator::codegenExtractHighPrecisionTimestamps(), Analyzer::BinOper::common_numeric_type(), Analyzer::BinOper::common_string_type(), Geospatial::compress_coords(), anonymous_namespace{ArrowResultSetConverter.cpp}::create_or_append_validity(), Catalog_Namespace::Catalog::createTable(), Analyzer::Expr::decompress(), Analyzer::InIntegerSet::deep_copy(), Analyzer::Constant::do_cast(), anonymous_namespace{ResultSetIteration.cpp}::GeoLazyFetchHandler::fetch(), anonymous_namespace{ResultSetIteration.cpp}::GeoQueryOutputFetchHandler::fetch(), get_agg_initial_val(), get_logical_type_info(), get_null_check_suffix(), get_target_info(), Analyzer::anonymous_namespace{Analyzer.cpp}::is_expr_nullable(), FixedLengthArrayNoneEncoder::is_null(), foreign_storage::csv_file_buffer_parser::is_null_datum(), Geospatial::is_null_point(), ArrowResultSetConverter::makeField(), NullAwareValidator< INNER_VALIDATOR >::NullAwareValidator(), operator!=(), operator=(), operator==(), pair_to_double(), DBHandler::populateThriftColumnType(), anonymous_namespace{TypedDataAccessors.h}::put_null(), anonymous_namespace{TypedDataAccessors.h}::put_null_array(), anonymous_namespace{TypedDataAccessors.h}::put_scalar(), Executor::reduceResults(), GeoTargetValueSerializer< kPOINT >::serialize(), GeoWktSerializer< kPOINT >::serialize(), GeoTargetValuePtrSerializer< kPOINT >::serialize(), GeoTargetValueSerializer< kLINESTRING >::serialize(), GeoWktSerializer< kLINESTRING >::serialize(), GeoTargetValuePtrSerializer< kLINESTRING >::serialize(), GeoTargetValueSerializer< kPOLYGON >::serialize(), GeoWktSerializer< kPOLYGON >::serialize(), GeoTargetValuePtrSerializer< kPOLYGON >::serialize(), GeoTargetValueSerializer< kMULTIPOLYGON >::serialize(), GeoWktSerializer< kMULTIPOLYGON >::serialize(), GeoTargetValuePtrSerializer< kMULTIPOLYGON >::serialize(), Fragmenter_Namespace::set_chunk_stats(), anonymous_namespace{ResultSetReductionJIT.cpp}::target_info_key(), ThriftSerializers::type_info_to_thrift(), ddl_utils::validate_and_set_sparse_encoding(), DBHandler::value_to_thrift_column(), DeepCopyVisitor::visitInIntegerSet(), and File_Namespace::FileBuffer::writeMetadata().

266 { return notnull; }
bool notnull
Definition: sqltypes.h:661

◆ get_output_srid()

◆ get_physical_cols()

int SQLTypeInfo::get_physical_cols ( ) const
inline

Definition at line 280 of file sqltypes.h.

References kLINESTRING, kMULTIPOLYGON, kPOINT, kPOLYGON, and run_benchmark_import::type.

Referenced by Catalog_Namespace::Catalog::buildMaps(), Parser::DropColumnStmt::execute(), foreign_storage::ParquetDataWrapper::loadBuffersUsingLazyParquetChunkLoader(), foreign_storage::ParquetDataWrapper::loadBuffersUsingLazyParquetImporter(), foreign_storage::anonymous_namespace{LazyParquetImporter.cpp}::read_parquet_metadata_into_import_buffer(), and Catalog_Namespace::Catalog::renameColumn().

280  {
281  switch (type) {
282  case kPOINT:
283  return 1; // coords
284  case kLINESTRING:
285  return 2; // coords, bounds
286  case kPOLYGON:
287  return 4; // coords, ring_sizes, bounds, render_group
288  case kMULTIPOLYGON:
289  return 5; // coords, ring_sizes, poly_rings, bounds, render_group
290  default:
291  break;
292  }
293  return 0;
294  }
SQLTypes type
Definition: sqltypes.h:657
+ Here is the caller graph for this function:

◆ get_physical_coord_cols()

int SQLTypeInfo::get_physical_coord_cols ( ) const
inline

Definition at line 295 of file sqltypes.h.

References kLINESTRING, kMULTIPOLYGON, kPOINT, kPOLYGON, and run_benchmark_import::type.

Referenced by advance_target_ptr_col_wise(), advance_target_ptr_row_wise(), TargetExprCodegen::codegen(), CodeGenerator::codegenFunctionOperNullArg(), CodeGenerator::codegenGeoBinOper(), CodeGenerator::codegenGeoUOper(), get_slots_for_geo_target(), and RelAlgTranslator::translateGeoColumn().

295  {
296  // @TODO dmitri/simon rename this function?
297  // It needs to return the number of extra columns
298  // which need to go through the executor, as opposed
299  // to those which are only needed by CPU for poly
300  // cache building or what-not. For now, we just omit
301  // the Render Group column. If we add Bounding Box
302  // or something this may require rethinking. Perhaps
303  // these two functions need to return an array of
304  // offsets rather than just a number to loop over,
305  // so that executor and non-executor columns can
306  // be mixed.
307  // NOTE(adb): In binding to extension functions, we need to know some pretty specific
308  // type info about each of the physical coords cols for each geo type. I added checks
309  // there to ensure the physical coords col for the geo type match what we expect. If
310  // these values are ever changed, corresponding values in
311  // ExtensionFunctionsBinding.cpp::compute_narrowing_conv_scores and
312  // ExtensionFunctionsBinding.cpp::compute_widening_conv_scores will also need to be
313  // changed.
314  switch (type) {
315  case kPOINT:
316  return 1;
317  case kLINESTRING:
318  return 1; // omit bounds
319  case kPOLYGON:
320  return 2; // omit bounds, render group
321  case kMULTIPOLYGON:
322  return 3; // omit bounds, render group
323  default:
324  break;
325  }
326  return 0;
327  }
SQLTypes type
Definition: sqltypes.h:657
+ Here is the caller graph for this function:

◆ get_precision()

◆ get_scale()

HOST DEVICE int SQLTypeInfo::get_scale ( ) const
inline

Definition at line 264 of file sqltypes.h.

Referenced by Catalog_Namespace::Catalog::addColumn(), Analyzer::BinOper::analyze_type_info(), Analyzer::Constant::cast_number(), CodeGenerator::codegenCastBetweenIntTypes(), CodeGenerator::codegenCastToFp(), CodeGenerator::codegenCmpDecimalConst(), CodeGenerator::codegenDiv(), CodeGenerator::codgenAdjustFixedEncNull(), Analyzer::BinOper::common_numeric_type(), convert_decimal_value_to_scale(), Catalog_Namespace::Catalog::createTable(), DatumToString(), anonymous_namespace{TypedDataAccessors.h}::decimal_to_double(), Analyzer::anonymous_namespace{Analyzer.cpp}::decimal_to_int_frac(), DecimalOverflowValidator::DecimalOverflowValidator(), Analyzer::Expr::decompress(), anonymous_namespace{ArrowResultSetConverter.cpp}::get_arrow_type(), anonymous_namespace{TypedDataAccessors.h}::get_element_size(), get_logical_type_info(), getArrowImportType(), anonymous_namespace{RelAlgTranslator.cpp}::makeNumericConstant(), operator!=(), operator=(), operator==(), pair_to_double(), parse_numeric(), Parser::InsertIntoTableAsSelectStmt::populateData(), DBHandler::populateThriftColumnType(), anonymous_namespace{TypedDataAccessors.h}::put_scalar(), anonymous_namespace{ExpressionRange.cpp}::scale_up_interval_endpoint(), Analyzer::UOper::toString(), ThriftSerializers::type_info_to_thrift(), Fragmenter_Namespace::InsertOrderFragmenter::updateColumn(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_decimal_mapping(), foreign_storage::AllowedParquetMetadataTypeMappings::validateDecimalMapping(), DBHandler::value_to_thrift(), DBHandler::value_to_thrift_column(), and File_Namespace::FileBuffer::writeMetadata().

264 { return scale; }
+ Here is the caller graph for this function:

◆ get_size()

HOST DEVICE int SQLTypeInfo::get_size ( ) const
inline

Definition at line 269 of file sqltypes.h.

Referenced by import_export::TypedImportBuffer::add_value(), Catalog_Namespace::Catalog::addColumn(), ArrayValueConverter< ELEMENT_CONVERTER >::ArrayValueConverter(), Chunk_NS::Chunk::begin_iterator(), anonymous_namespace{CastIR.cpp}::byte_array_cast(), CodeGenerator::castArrayPointer(), anonymous_namespace{QueryRewrite.cpp}::check_string_id_overflow(), CodeGenerator::codegenAdd(), CodeGenerator::codegenCast(), CodeGenerator::codegenMul(), CodeGenerator::codegenSub(), CodeGenerator::codgenAdjustFixedEncNull(), GroupByAndAggregate::convertNullIfAny(), NumericConverterFactory< SOURCE_TYPE, TARGET_TYPE >::create(), DictionaryConverterFactory< TARGET_TYPE >::create(), Encoder::Create(), ArrowCsvForeignStorage::createDecimalColumn(), Catalog_Namespace::Catalog::createTable(), decimal_to_int_type(), Parser::InsertValuesStmt::determineLeafIndex(), RelAlgExecutor::executeSimpleInsert(), Fragmenter_Namespace::FixedLenArrayChunkConverter::FixedLenArrayChunkConverter(), generateNullValues(), generateSentinelValues(), get_bit_width(), anonymous_namespace{ArrowResultSetConverter.cpp}::get_dict_index_type(), anonymous_namespace{TypedDataAccessors.h}::get_element_size(), get_logical_size(), anonymous_namespace{ArrowResultSetConverter.cpp}::get_physical_type(), anonymous_namespace{TypedDataAccessors.h}::get_scalar(), getArrowImportType(), Parser::LocalConnector::getColumnDescriptors(), Chunk_NS::Chunk::getNumElemsForBytesInsertData(), StorageIOFacility< RelAlgExecutorTraits >::getRsBufferNoPadding(), inline_fixed_encoding_null_val(), is_unsigned_type(), ColumnFetcher::makeJoinColumn(), import_export::NullArray(), TextConverterFactory::operator()(), operator=(), foreign_storage::ParquetFixedLengthArrayEncoder::ParquetFixedLengthArrayEncoder(), Parser::InsertIntoTableAsSelectStmt::populateData(), DBHandler::populateThriftColumnType(), anonymous_namespace{TypedDataAccessors.h}::put_null(), anonymous_namespace{TypedDataAccessors.h}::put_null_array(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::resize_values_buffer(), Fragmenter_Namespace::sizeOfRawColumn(), import_export::StringToArray(), import_export::TDatumToArrayDatum(), RelAlgTranslator::translateCardinality(), ThriftSerializers::type_info_to_thrift(), import_export::TypedImportBuffer::TypedImportBuffer(), Fragmenter_Namespace::InsertOrderFragmenter::updateColumns(), ddl_utils::validate_and_set_array_size(), foreign_storage::AllowedParquetMetadataTypeMappings::validateIntegralMapping(), and File_Namespace::FileBuffer::writeMetadata().

269 { return size; }

◆ get_storage_size()

HOST DEVICE int SQLTypeInfo::get_storage_size ( ) const
inlineprivate

Definition at line 669 of file sqltypes.h.

References convert_decimal_value_to_scale(), DatumEqual(), DatumToString(), decimal_to_int_type(), kARRAY, kBIGINT, kBOOLEAN, kCHAR, kCOLUMN, kDATE, kDECIMAL, kDOUBLE, kENCODING_DATE_IN_DAYS, kENCODING_DICT, kENCODING_DIFF, kENCODING_FIXED, kENCODING_NONE, kENCODING_RL, kENCODING_SPARSE, kFLOAT, kINT, kINTERVAL_DAY_TIME, kINTERVAL_YEAR_MONTH, kLINESTRING, kMULTIPOLYGON, kNUMERIC, kPOINT, kPOLYGON, kSMALLINT, kTEXT, kTIME, kTIMESTAMP, kTINYINT, kVARCHAR, and StringToDatum().

669  {
670  switch (type) {
671  case kBOOLEAN:
672  return sizeof(int8_t);
673  case kTINYINT:
674  return sizeof(int8_t);
675  case kSMALLINT:
676  switch (compression) {
677  case kENCODING_NONE:
678  return sizeof(int16_t);
679  case kENCODING_FIXED:
680  case kENCODING_SPARSE:
681  return comp_param / 8;
682  case kENCODING_RL:
683  case kENCODING_DIFF:
684  break;
685  default:
686  assert(false);
687  }
688  break;
689  case kINT:
690  switch (compression) {
691  case kENCODING_NONE:
692  return sizeof(int32_t);
693  case kENCODING_FIXED:
694  case kENCODING_SPARSE:
695  return comp_param / 8;
696  case kENCODING_RL:
697  case kENCODING_DIFF:
698  break;
699  default:
700  assert(false);
701  }
702  break;
703  case kBIGINT:
704  case kNUMERIC:
705  case kDECIMAL:
706  switch (compression) {
707  case kENCODING_NONE:
708  return sizeof(int64_t);
709  case kENCODING_FIXED:
710  case kENCODING_SPARSE:
711  return comp_param / 8;
712  case kENCODING_RL:
713  case kENCODING_DIFF:
714  break;
715  default:
716  assert(false);
717  }
718  break;
719  case kFLOAT:
720  switch (compression) {
721  case kENCODING_NONE:
722  return sizeof(float);
723  case kENCODING_FIXED:
724  case kENCODING_RL:
725  case kENCODING_DIFF:
726  case kENCODING_SPARSE:
727  assert(false);
728  break;
729  default:
730  assert(false);
731  }
732  break;
733  case kDOUBLE:
734  switch (compression) {
735  case kENCODING_NONE:
736  return sizeof(double);
737  case kENCODING_FIXED:
738  case kENCODING_RL:
739  case kENCODING_DIFF:
740  case kENCODING_SPARSE:
741  assert(false);
742  break;
743  default:
744  assert(false);
745  }
746  break;
747  case kTIMESTAMP:
748  case kTIME:
749  case kINTERVAL_DAY_TIME:
751  case kDATE:
752  switch (compression) {
753  case kENCODING_NONE:
754  return sizeof(int64_t);
755  case kENCODING_FIXED:
756  if (type == kTIMESTAMP && dimension > 0) {
757  assert(false); // disable compression for timestamp precisions
758  }
759  return comp_param / 8;
760  case kENCODING_RL:
761  case kENCODING_DIFF:
762  case kENCODING_SPARSE:
763  assert(false);
764  break;
766  switch (comp_param) {
767  case 0:
768  return 4; // Default date encoded in days is 32 bits
769  case 16:
770  case 32:
771  return comp_param / 8;
772  default:
773  assert(false);
774  break;
775  }
776  default:
777  assert(false);
778  }
779  break;
780  case kTEXT:
781  case kVARCHAR:
782  case kCHAR:
783  if (compression == kENCODING_DICT) {
784  return sizeof(int32_t); // @TODO(wei) must check DictDescriptor
785  }
786  break;
787  case kARRAY:
788  // TODO: return size for fixlen arrays?
789  break;
790  case kPOINT:
791  case kLINESTRING:
792  case kPOLYGON:
793  case kMULTIPOLYGON:
794  case kCOLUMN:
795  break;
796  default:
797  break;
798  }
799  return -1;
800  }
Definition: sqltypes.h:51
EncodingType compression
Definition: sqltypes.h:662
Definition: sqltypes.h:54
Definition: sqltypes.h:55
Definition: sqltypes.h:43
SQLTypes type
Definition: sqltypes.h:657
Definition: sqltypes.h:47
int comp_param
Definition: sqltypes.h:663
int dimension
Definition: sqltypes.h:659
+ Here is the call graph for this function:

◆ get_subtype()

HOST DEVICE SQLTypes SQLTypeInfo::get_subtype ( ) const
inline

Definition at line 260 of file sqltypes.h.

Referenced by import_export::TypedImportBuffer::add_value(), import_export::TypedImportBuffer::add_values(), Catalog_Namespace::Catalog::addColumn(), Parser::ArrayLiteral::analyze(), Parser::InsertValuesStmt::analyze(), anonymous_namespace{CastIR.cpp}::byte_array_cast(), CodeGenerator::codegenHoistedConstantsLoads(), CodeGenerator::codgenAdjustFixedEncNull(), Encoder::Create(), Catalog_Namespace::Catalog::createTable(), Analyzer::Expr::decompress(), anonymous_namespace{TypedDataAccessors.h}::get_element_size(), get_logical_type_info(), import_export::Loader::getStringDict(), import_export::anonymous_namespace{QueryExporterGDAL.cpp}::insert_array_column(), FixedLengthArrayNoneEncoder::is_null(), operator!=(), operator=(), operator==(), Parser::InsertIntoTableAsSelectStmt::populateData(), DBHandler::populateThriftColumnType(), anonymous_namespace{TypedDataAccessors.h}::put_scalar(), import_export::anonymous_namespace{QueryExporterGDAL.cpp}::sql_type_info_to_ogr_field_type(), RelAlgTranslator::translateArrayFunction(), RelAlgTranslator::translateBinaryGeoFunction(), RelAlgTranslator::translateUnaryGeoFunction(), ThriftSerializers::type_info_to_thrift(), type_to_thrift(), import_export::TypedImportBuffer::TypedImportBuffer(), FixedLengthArrayNoneEncoder::update_elem_stats(), ArrayNoneEncoder::update_elem_stats(), ddl_utils::validate_and_set_fixed_encoding(), and File_Namespace::FileBuffer::writeMetadata().

260 { return subtype; }
SQLTypes subtype
Definition: sqltypes.h:658
+ Here is the caller graph for this function:

◆ get_type()

HOST DEVICE SQLTypes SQLTypeInfo::get_type ( ) const
inline

Definition at line 259 of file sqltypes.h.

References run_benchmark_import::type.

Referenced by import_export::TypedImportBuffer::add_arrow_values(), import_export::TypedImportBuffer::add_value(), import_export::TypedImportBuffer::add_values(), Catalog_Namespace::Catalog::addColumn(), Parser::ArrayLiteral::analyze(), Parser::FunctionRef::analyze(), Parser::InsertValuesStmt::analyze(), Analyzer::BinOper::analyze_type_info(), appendDatum(), Analyzer::Constant::cast_number(), Analyzer::Constant::cast_string(), Analyzer::Constant::cast_to_string(), CodeGenerator::castArrayPointer(), TargetExprCodegen::codegenAggregate(), CodeGenerator::codegenCast(), CodeGenerator::codegenCastFromFp(), CodeGenerator::codegenCastToFp(), CodeGenerator::codegenCmp(), CodeGenerator::codegenDiv(), CodeGenerator::codegenFunctionOper(), CodeGenerator::codegenGeoBinOper(), CodeGenerator::codegenGeoUOper(), CodeGenerator::codegenHoistedConstantsLoads(), CodeGenerator::codegenIsNullNumber(), Analyzer::BinOper::common_numeric_type(), Analyzer::BinOper::common_string_type(), Geospatial::compress_coords(), import_export::TypedImportBuffer::convert_arrow_val_to_import_buffer(), TargetValueConverterFactory::create(), Encoder::Create(), Catalog_Namespace::Catalog::createTable(), Analyzer::Datum_equal(), DatumEqual(), DatumToString(), decompress(), Analyzer::Expr::decompress(), Analyzer::Constant::deep_copy(), Analyzer::Constant::do_cast(), RelAlgExecutor::executeSimpleInsert(), Parser::anonymous_namespace{ParserNode.cpp}::expr_is_null(), extract_from_datum(), anonymous_namespace{ExpressionRange.cpp}::extract_max_stat_double(), anonymous_namespace{ExpressionRange.cpp}::extract_min_stat_double(), anonymous_namespace{ResultSetIteration.cpp}::GeoLazyFetchHandler::fetch(), anonymous_namespace{ResultSetIteration.cpp}::GeoQueryOutputFetchHandler::fetch(), ChunkMetadata::fillChunkStats(), anonymous_namespace{WindowContext.cpp}::fp_comparator(), anonymous_namespace{ExpressionRange.cpp}::fpRangeFromDecimal(), get_bit_width(), anonymous_namespace{JoinHashTable.cpp}::get_bucketized_hash_entry_info(), anonymous_namespace{ArrowResultSetConverter.cpp}::get_dict_index_type(), ExtensionFunctionsWhitelist::get_ext_funcs(), get_logical_type_info(), anonymous_namespace{ArrowResultSetConverter.cpp}::get_physical_type(), anonymous_namespace{TypedDataAccessors.h}::get_scalar(), anonymous_namespace{WindowFunctionIR.cpp}::get_window_agg_name(), getArrowImportType(), Chunk_NS::Chunk::getChunkBuffer(), EmbeddedDatabase::CursorImpl::getColType(), getExpressionRange(), Geospatial::GeoTypesFactory::getGeoColumns(), JoinHashTable::getHashJoinArgs(), Geospatial::GeoTypesFactory::getNullGeoColumns(), Chunk_NS::Chunk::getNumElemsForBytesInsertData(), StorageIOFacility< RelAlgExecutorTraits >::getRsBufferNoPadding(), import_export::Loader::getStringDict(), foreign_storage::ArrayMetadataStats::getUninitializedMax(), foreign_storage::ArrayMetadataStats::getUninitializedMin(), Analyzer::ColumnVar::group_predicates(), Chunk_NS::Chunk::initEncoder(), inline_fp_null_val(), inline_int_null_val(), anonymous_namespace{Execute.cpp}::inline_null_val(), CgenState::inlineFpNull(), CgenState::inlineIntNull(), import_export::anonymous_namespace{QueryExporterGDAL.cpp}::insert_geo_column(), import_export::anonymous_namespace{QueryExporterGDAL.cpp}::insert_scalar_column(), is_castable(), Geospatial::is_null_point(), Analyzer::anonymous_namespace{Analyzer.cpp}::is_null_value(), anonymous_namespace{ScalarCodeGenerator.cpp}::llvm_type_from_sql(), DBHandler::load_table(), make_fp_constant(), ResultSet::makeGeoTargetValue(), anonymous_namespace{RelAlgTranslator.cpp}::makeNumericConstant(), ResultSet::makeVarlenTargetValue(), anonymous_namespace{ExtensionFunctionsBinding.cpp}::match_arguments(), anonymous_namespace{WindowExpressionRewrite.cpp}::matches_gt_bigint_zero(), need_patch_unnest_double(), Parser::CaseExpr::normalize(), null_val_bit_pattern(), import_export::NullArrayDatum(), import_export::NullDatum(), numeric_type_name(), operator!=(), operator=(), operator==(), pair_to_double(), foreign_storage::ParquetGeospatialEncoder::ParquetGeospatialEncoder(), populate_TColumn(), Parser::InsertIntoTableAsSelectStmt::populateData(), DBHandler::populateThriftColumnType(), foreign_storage::ParquetGeospatialEncoder::processGeoElement(), foreign_storage::ParquetGeospatialEncoder::processNullGeoElement(), anonymous_namespace{TypedDataAccessors.h}::put_null(), anonymous_namespace{TypedDataAccessors.h}::put_null_array(), anonymous_namespace{TypedDataAccessors.h}::put_scalar(), ArrowCsvForeignStorage::read(), ddl_utils::set_default_encoding(), import_export::Importer::set_geo_physical_import_buffer(), import_export::Importer::set_geo_physical_import_buffer_columnar(), anonymous_namespace{TableOptimizer.cpp}::set_metadata_from_results(), Analyzer::Constant::set_null_value(), Fragmenter_Namespace::sizeOfRawColumn(), import_export::anonymous_namespace{QueryExporterGDAL.cpp}::sql_type_info_to_ogr_field_type(), StringToDatum(), takes_float_argument(), import_export::TDatumToDatum(), Analyzer::Constant::toString(), RelAlgTranslator::translateBinaryGeoFunction(), RelAlgTranslator::translateGeoBinaryConstructor(), RelAlgTranslator::translateGeoColumn(), RelAlgTranslator::translateGeoFunctionArg(), RelAlgTranslator::translateGeoLiteral(), RelAlgTranslator::translateGeoOverlapsOper(), RelAlgTranslator::translateUnaryGeoFunction(), ThriftSerializers::type_info_to_thrift(), type_to_thrift(), import_export::TypedImportBuffer::TypedImportBuffer(), foreign_storage::ArrayMetadataStats::updateStats(), foreign_storage::ParquetDataWrapper::updateStatsForEncoder(), foreign_storage::anonymous_namespace{LazyParquetImporter.cpp}::validate_allowed_mapping(), ddl_utils::validate_and_set_date_encoding(), ddl_utils::validate_and_set_fixed_encoding(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_date_mapping(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_integral_mapping(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_none_type_mapping(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_time_mapping(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_timestamp_mapping(), foreign_storage::ParquetGeospatialEncoder::validateChunksAndMetadataSizing(), foreign_storage::AllowedParquetMetadataTypeMappings::validateDateTimeMapping(), DBHandler::value_to_thrift(), DBHandler::value_to_thrift_column(), anonymous_namespace{WindowExpressionRewrite.cpp}::window_sum_and_count_match(), and File_Namespace::FileBuffer::writeMetadata().

259 { return type; }
SQLTypes type
Definition: sqltypes.h:657

◆ get_type_name()

std::string SQLTypeInfo::get_type_name ( ) const
inline

Definition at line 362 of file sqltypes.h.

References CHECK_LT, IS_GEO, kARRAY, kCOLUMN, kDECIMAL, kNUMERIC, kSQLTYPE_LAST, kTIMESTAMP, to_string(), and run_benchmark_import::type.

Referenced by Analyzer::Expr::add_cast(), Analyzer::BinOper::analyze_type_info(), CodeGenerator::codegenCastFromFp(), CodeGenerator::codegenCastFromString(), CodeGenerator::codegenCastToFp(), Analyzer::BinOper::common_numeric_type(), TargetValueConverterFactory::create(), anonymous_namespace{ExternalExecutor.cpp}::create_table_schema(), anonymous_namespace{ArrowImporter.h}::data_conversion_error(), Analyzer::Datum_equal(), DatumToString(), Analyzer::Constant::do_cast(), get_agg_type(), anonymous_namespace{ArrowResultSetConverter.cpp}::get_arrow_type(), getArrowImportType(), Data_Namespace::AbstractBuffer::initEncoder(), import_export::anonymous_namespace{QueryExporterGDAL.cpp}::insert_array_column(), ResultSet::makeGeoTargetValue(), anonymous_namespace{ExtensionFunctionsBinding.cpp}::match_arguments(), pair_to_double(), foreign_storage::ParquetDataWrapper::populateChunkBuffers(), Parser::InsertIntoTableAsSelectStmt::populateData(), Fragmenter_Namespace::sizeOfRawColumn(), import_export::anonymous_namespace{QueryExporterGDAL.cpp}::sql_type_info_to_ogr_field_type(), StringToDatum(), anonymous_namespace{ResultSetReductionJIT.cpp}::target_info_key(), Analyzer::ColumnVar::toString(), Analyzer::UOper::toString(), anonymous_namespace{ArrowImporter.h}::type_conversion_error(), foreign_storage::anonymous_namespace{LazyParquetImporter.cpp}::type_to_string(), and ScalarExprToSql::visitUOper().

362  {
363  if (IS_GEO(type)) {
364  std::string srid_string = "";
365  if (get_output_srid() > 0) {
366  srid_string = ", " + std::to_string(get_output_srid());
367  }
368  CHECK_LT(static_cast<int>(subtype), kSQLTYPE_LAST);
369  return type_name[static_cast<int>(subtype)] + "(" +
370  type_name[static_cast<int>(type)] + srid_string + ")";
371  }
372  std::string ps = "";
373  if (type == kDECIMAL || type == kNUMERIC || subtype == kDECIMAL ||
374  subtype == kNUMERIC) {
375  ps = "(" + std::to_string(dimension) + "," + std::to_string(scale) + ")";
376  } else if (type == kTIMESTAMP) {
377  ps = "(" + std::to_string(dimension) + ")";
378  }
379  if (type == kARRAY) {
380  auto elem_ti = get_elem_type();
381  auto num_elems = (size > 0) ? std::to_string(size / elem_ti.get_size()) : "";
382  CHECK_LT(static_cast<int>(subtype), kSQLTYPE_LAST);
383  return type_name[static_cast<int>(subtype)] + ps + "[" + num_elems + "]";
384  }
385  if (type == kCOLUMN) {
386  auto elem_ti = get_elem_type();
387  auto num_elems =
388  (size > 0) ? "[" + std::to_string(size / elem_ti.get_size()) + "]" : "";
389  CHECK_LT(static_cast<int>(subtype), kSQLTYPE_LAST);
390  return "COLUMN<" + type_name[static_cast<int>(subtype)] + ps + ">" + num_elems;
391  }
392  return type_name[static_cast<int>(type)] + ps;
393  }
std::string to_string(char const *&&v)
HOST DEVICE int get_output_srid() const
Definition: sqltypes.h:265
static std::string type_name[kSQLTYPE_LAST]
Definition: sqltypes.h:666
SQLTypes subtype
Definition: sqltypes.h:658
#define CHECK_LT(x, y)
Definition: Logger.h:207
SQLTypeInfo get_elem_type() const
Definition: sqltypes.h:624
SQLTypes type
Definition: sqltypes.h:657
size_t num_elems
#define IS_GEO(T)
Definition: sqltypes.h:174
int dimension
Definition: sqltypes.h:659
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ has_bounds()

bool SQLTypeInfo::has_bounds ( ) const
inline

Definition at line 328 of file sqltypes.h.

References kLINESTRING, kMULTIPOLYGON, kPOLYGON, and run_benchmark_import::type.

Referenced by RelAlgTranslator::translateGeoColumn(), and RelAlgTranslator::translateGeoLiteral().

328  {
329  switch (type) {
330  case kLINESTRING:
331  case kPOLYGON:
332  case kMULTIPOLYGON:
333  return true;
334  default:
335  break;
336  }
337  return false;
338  }
SQLTypes type
Definition: sqltypes.h:657
+ Here is the caller graph for this function:

◆ has_render_group()

bool SQLTypeInfo::has_render_group ( ) const
inline

Definition at line 339 of file sqltypes.h.

References kMULTIPOLYGON, kPOLYGON, and run_benchmark_import::type.

Referenced by RelAlgTranslator::translateGeoColumn().

339  {
340  switch (type) {
341  case kPOLYGON:
342  case kMULTIPOLYGON:
343  return true;
344  default:
345  break;
346  }
347  return false;
348  }
SQLTypes type
Definition: sqltypes.h:657
+ Here is the caller graph for this function:

◆ is_array()

bool SQLTypeInfo::is_array ( ) const
inline

Definition at line 425 of file sqltypes.h.

References kARRAY, and run_benchmark_import::type.

Referenced by CodeGenerator::beginArgsNullcheck(), anonymous_namespace{ResultSetIteration.cpp}::build_array_target_value(), anonymous_namespace{CastIR.cpp}::byte_array_cast(), CodeGenerator::codegenFunctionOperCastArgs(), CodeGenerator::codegenHoistedConstantsLoads(), CodeGenerator::codegenHoistedConstantsPlaceholders(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::create_parquet_array_encoder(), Catalog_Namespace::Catalog::createTable(), DateDaysOverflowValidator::DateDaysOverflowValidator(), datum_to_string(), DecimalOverflowValidator::DecimalOverflowValidator(), Analyzer::Constant::do_cast(), CodeGenerator::endArgsNullcheck(), anonymous_namespace{TypedDataAccessors.h}::get_element_size(), anonymous_namespace{ExtensionsIR.cpp}::get_llvm_type_from_sql_array_type(), foreign_storage::get_var_length_data_block_size(), Parser::LocalConnector::getColumnDescriptors(), getLeafColumnRange(), ResultSet::getTargetValueFromBufferRowwise(), CodeGenerator::hashJoinLhs(), is_real_str_or_array(), foreign_storage::AllowedParquetMetadataTypeMappings::isColumnMappingSupported(), Fragmenter_Namespace::isDatumVectorData(), foreign_storage::ParquetDataWrapper::loadBuffersUsingLazyParquetChunkLoader(), ResultSet::makeVarlenTargetValue(), anonymous_namespace{ExtensionFunctionsBinding.cpp}::match_arguments(), null_val_bit_pattern(), NullAwareValidator< INNER_VALIDATOR >::NullAwareValidator(), ChunkMetadata::operator==(), Analyzer::Constant::operator==(), foreign_storage::ParquetDataWrapper::populateChunkBuffers(), Parser::InsertIntoTableAsSelectStmt::populateData(), anonymous_namespace{TypedDataAccessors.h}::put_scalar(), Catalog_Namespace::Catalog::setColumnDictionary(), anonymous_namespace{LogicalIR.cpp}::should_defer_eval(), Analyzer::Constant::toString(), ThriftSerializers::type_info_to_thrift(), ExpressionRange::typeSupportsRange(), foreign_storage::update_stats(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_array_mapping(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_max_repetition_and_definition_level(), DBHandler::value_to_thrift(), and DBHandler::value_to_thrift_column().

425 { return type == kARRAY; }
SQLTypes type
Definition: sqltypes.h:657
+ Here is the caller graph for this function:

◆ is_boolean()

◆ is_castable()

bool SQLTypeInfo::is_castable ( const SQLTypeInfo new_type_info) const
inline

Definition at line 487 of file sqltypes.h.

References get_elem_type(), get_type(), is_number(), is_string(), kARRAY, kBOOLEAN, kCOLUMN, kDATE, kTIMESTAMP, and run_benchmark_import::type.

Referenced by Analyzer::Expr::add_cast().

487  {
488  // can always cast between the same type but different precision/scale/encodings
489  if (type == new_type_info.get_type()) {
490  return true;
491  // can always cast from or to string
492  } else if (is_string() || new_type_info.is_string()) {
493  return true;
494  // can cast between numbers
495  } else if (is_number() && new_type_info.is_number()) {
496  return true;
497  // can cast from timestamp or date to number (epoch)
498  } else if ((type == kTIMESTAMP || type == kDATE) && new_type_info.is_number()) {
499  return true;
500  // can cast from date to timestamp
501  } else if (type == kDATE && new_type_info.get_type() == kTIMESTAMP) {
502  return true;
503  } else if (type == kTIMESTAMP && new_type_info.get_type() == kDATE) {
504  return true;
505  } else if (type == kBOOLEAN && new_type_info.is_number()) {
506  return true;
507  } else if (type == kARRAY && new_type_info.get_type() == kARRAY) {
508  return get_elem_type().is_castable(new_type_info.get_elem_type());
509  } else if (type == kCOLUMN && new_type_info.get_type() == kCOLUMN) {
510  return get_elem_type().is_castable(new_type_info.get_elem_type());
511  } else {
512  return false;
513  }
514  }
bool is_string() const
Definition: sqltypes.h:417
bool is_castable(const SQLTypeInfo &new_type_info) const
Definition: sqltypes.h:487
Definition: sqltypes.h:55
SQLTypeInfo get_elem_type() const
Definition: sqltypes.h:624
HOST DEVICE SQLTypes get_type() const
Definition: sqltypes.h:259
SQLTypes type
Definition: sqltypes.h:657
bool is_number() const
Definition: sqltypes.h:422
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ is_column()

bool SQLTypeInfo::is_column ( ) const
inline

Definition at line 430 of file sqltypes.h.

References kCOLUMN, and run_benchmark_import::type.

Referenced by get_compact_type(), anonymous_namespace{TableFunctionCompilationContext.cpp}::get_llvm_type_from_sql_column_type(), ResultSet::isNull(), lazy_decode(), ColumnFetcher::makeJoinColumn(), ResultSet::makeTargetValue(), anonymous_namespace{ExtensionFunctionsBinding.cpp}::match_arguments(), and DBHandler::value_to_thrift_column().

430 { return type == kCOLUMN; }
SQLTypes type
Definition: sqltypes.h:657
+ Here is the caller graph for this function:

◆ is_date()

bool SQLTypeInfo::is_date ( ) const
inline

Definition at line 642 of file sqltypes.h.

References kDATE, and run_benchmark_import::type.

Referenced by Analyzer::Constant::add_cast(), Parser::LocalConnector::getColumnDescriptors(), anonymous_namespace{ExpressionRange.cpp}::getDateTimePrecisionCastRange(), Parser::InsertIntoTableAsSelectStmt::populateData(), and foreign_storage::AllowedParquetMetadataTypeMappings::validateDateTimeMapping().

642 { return type == kDATE; }
Definition: sqltypes.h:55
SQLTypes type
Definition: sqltypes.h:657
+ Here is the caller graph for this function:

◆ is_date_in_days()

bool SQLTypeInfo::is_date_in_days ( ) const
inline

Definition at line 632 of file sqltypes.h.

References kDATE, kENCODING_DATE_IN_DAYS, and run_benchmark_import::type.

Referenced by DateDaysEncoder< T, V >::appendData(), DateDaysOverflowValidator::DateDaysOverflowValidator(), get_join_column_type_kind(), Parser::LocalConnector::getColumnDescriptors(), ResultSet::makeTargetValue(), and DBHandler::populateThriftColumnType().

632  {
633  if (type == kDATE) {
634  const auto comp_type = get_compression();
635  if (comp_type == kENCODING_DATE_IN_DAYS) {
636  return true;
637  }
638  }
639  return false;
640  }
HOST DEVICE EncodingType get_compression() const
Definition: sqltypes.h:267
Definition: sqltypes.h:55
SQLTypes type
Definition: sqltypes.h:657
+ Here is the caller graph for this function:

◆ is_decimal()

bool SQLTypeInfo::is_decimal ( ) const
inline

Definition at line 420 of file sqltypes.h.

References kDECIMAL, kNUMERIC, and run_benchmark_import::type.

Referenced by Analyzer::Constant::add_cast(), import_export::TypedImportBuffer::add_value(), Analyzer::BinOper::analyze_type_info(), anonymous_namespace{RelAlgTranslator.cpp}::build_type_info(), CodeGenerator::checkExpressionRanges(), CodeGenerator::codegenAdd(), CodeGenerator::codegenCast(), CodeGenerator::codegenCastBetweenIntTypes(), CodeGenerator::codegenCastFromFp(), CodeGenerator::codegenCmp(), CodeGenerator::codegenDiv(), CodeGenerator::codegenFunctionOperWithCustomTypeHandling(), CodeGenerator::codegenHoistedConstantsLoads(), CodeGenerator::codegenMul(), CodeGenerator::codegenSub(), datum_to_string(), DecimalOverflowValidator::DecimalOverflowValidator(), extract_from_datum(), get_bit_width(), inline_fixed_encoding_null_val(), anonymous_namespace{ResultSetIteration.cpp}::make_avg_target_value(), import_export::NullArrayDatum(), import_export::NullDatum(), numeric_type_name(), pair_to_double(), Parser::InsertIntoTableAsSelectStmt::populateData(), anonymous_namespace{TypedDataAccessors.h}::put_scalar(), Executor::reduceResults(), ddl_utils::set_default_encoding(), import_export::TDatumToDatum(), RelAlgTranslator::translateFunction(), Fragmenter_Namespace::InsertOrderFragmenter::updateColumn(), Fragmenter_Namespace::InsertOrderFragmenter::updateColumnMetadata(), anonymous_namespace{InputMetadata.cpp}::uses_int_meta(), ddl_utils::validate_and_set_fixed_encoding(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_decimal_mapping(), foreign_storage::AllowedParquetMetadataTypeMappings::validateDecimalMapping(), DBHandler::value_to_thrift(), DBHandler::value_to_thrift_column(), and anonymous_namespace{ExpressionRewrite.cpp}::ConstantFoldingVisitor::visitBinOper().

420 { return type == kDECIMAL || type == kNUMERIC; }
SQLTypes type
Definition: sqltypes.h:657
+ Here is the caller graph for this function:

◆ is_dict_encoded_string()

◆ is_fixlen_array()

bool SQLTypeInfo::is_fixlen_array ( ) const
inline

Definition at line 427 of file sqltypes.h.

References kARRAY, and run_benchmark_import::type.

Referenced by foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::create_parquet_array_encoder(), Chunk_NS::Chunk::createChunkBuffer(), Chunk_NS::Chunk::getChunkBuffer(), Chunk_NS::Chunk::initEncoder(), and Chunk_NS::Chunk::isChunkOnDevice().

427 { return type == kARRAY && size > 0; }
SQLTypes type
Definition: sqltypes.h:657
+ Here is the caller graph for this function:

◆ is_fp()

◆ is_geometry()

bool SQLTypeInfo::is_geometry ( ) const
inline

Definition at line 429 of file sqltypes.h.

References IS_GEO, and run_benchmark_import::type.

Referenced by advance_slot(), advance_target_ptr_col_wise(), advance_target_ptr_row_wise(), Parser::InsertStmt::analyze(), Parser::InsertValuesStmt::analyze(), Catalog_Namespace::Catalog::buildMaps(), TargetExprCodegen::codegen(), GroupByAndAggregate::codegenAggArg(), CodeGenerator::codegenCmp(), CodeGenerator::codegenColVar(), Analyzer::Constant::deep_copy(), Analyzer::Constant::do_cast(), Parser::AddColumnStmt::execute(), foreign_storage::get_var_length_data_block_size(), ResultSet::getTargetValueFromBufferColwise(), ResultSet::getTargetValueFromBufferRowwise(), import_export::anonymous_namespace{QueryExporterGDAL.cpp}::insert_array_column(), import_export::anonymous_namespace{QueryExporterGDAL.cpp}::insert_geo_column(), import_export::anonymous_namespace{QueryExporterGDAL.cpp}::insert_scalar_column(), isGeometry(), Fragmenter_Namespace::isStringVectorData(), foreign_storage::ParquetDataWrapper::loadBuffersUsingLazyParquetChunkLoader(), ResultSet::makeGeoTargetValue(), Parser::OperExpr::normalize(), null_val_bit_pattern(), foreign_storage::ParquetGeospatialEncoder::ParquetGeospatialEncoder(), Parser::InsertIntoTableAsSelectStmt::populateData(), ResultSetReductionJIT::reduceOneSlot(), ResultSetStorage::reduceOneSlot(), ddl_utils::set_default_encoding(), anonymous_namespace{TargetExprBuilder.cpp}::target_has_geo(), ddl_utils::validate_and_set_compressed_encoding(), ddl_utils::validate_and_set_none_encoding(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_geospatial_mapping(), foreign_storage::AllowedParquetMetadataTypeMappings::validateStringMapping(), DBHandler::value_to_thrift_column(), and Analyzer::Constant::~Constant().

429 { return IS_GEO(type); }
SQLTypes type
Definition: sqltypes.h:657
#define IS_GEO(T)
Definition: sqltypes.h:174
+ Here is the caller graph for this function:

◆ is_high_precision_timestamp()

bool SQLTypeInfo::is_high_precision_timestamp ( ) const
inline

Definition at line 644 of file sqltypes.h.

References kTIMESTAMP, and run_benchmark_import::type.

Referenced by CodeGenerator::codegenDateTruncHighPrecisionTimestamps(), CodeGenerator::codegenExtractHighPrecisionTimestamps(), Analyzer::Constant::do_cast(), anonymous_namespace{ExpressionRange.cpp}::getDateTimePrecisionCastRange(), DateTimeTranslator::getDateTruncConstantValue(), DateTimeTranslator::getExtractFromTimeConstantValue(), and ddl_utils::validate_and_set_fixed_encoding().

644  {
645  if (type == kTIMESTAMP) {
646  const auto dimension = get_dimension();
647  if (dimension > 0) {
648  return true;
649  }
650  }
651  return false;
652  }
HOST DEVICE int get_dimension() const
Definition: sqltypes.h:261
SQLTypes type
Definition: sqltypes.h:657
int dimension
Definition: sqltypes.h:659
+ Here is the caller graph for this function:

◆ is_integer()

bool SQLTypeInfo::is_integer ( ) const
inline

Definition at line 419 of file sqltypes.h.

References IS_INTEGER, and run_benchmark_import::type.

Referenced by Analyzer::Constant::add_cast(), Parser::FunctionRef::analyze(), Analyzer::BinOper::analyze_type_info(), CodeGenerator::castArrayPointer(), CodeGenerator::codegenAdd(), CodeGenerator::codegenCast(), CodeGenerator::codegenCastBetweenIntTypes(), CodeGenerator::codegenCastFromFp(), CodeGenerator::codegenCmp(), CodeGenerator::codegenHoistedConstantsLoads(), CodeGenerator::codegenMod(), CodeGenerator::codegenMul(), CodeGenerator::codegenSub(), Analyzer::BinOper::common_numeric_type(), NumericConverterFactory< SOURCE_TYPE, TARGET_TYPE >::create(), anonymous_namespace{ArrowResultSetConverter.cpp}::create_or_append_validity(), generateNullValues(), generateSentinelValues(), get_agg_type(), inline_fixed_encoding_null_val(), anonymous_namespace{QueryMemoryDescriptor.cpp}::is_int_and_no_bigger_than(), Fragmenter_Namespace::is_integral(), is_supported_type_for_extern_execution(), anonymous_namespace{ResultSetIteration.cpp}::make_avg_target_value(), numeric_type_name(), pair_to_double(), Parser::InsertIntoTableAsSelectStmt::populateData(), anonymous_namespace{TypedDataAccessors.h}::put_scalar(), Executor::reduceResults(), anonymous_namespace{InputMetadata.cpp}::uses_int_meta(), ddl_utils::validate_and_set_fixed_encoding(), and foreign_storage::AllowedParquetMetadataTypeMappings::validateIntegralMapping().

419 { return IS_INTEGER(type); }
#define IS_INTEGER(T)
Definition: sqltypes.h:168
SQLTypes type
Definition: sqltypes.h:657
+ Here is the caller graph for this function:

◆ is_null() [1/2]

HOST DEVICE bool SQLTypeInfo::is_null ( const Datum d) const
inline

Definition at line 516 of file sqltypes.h.

References Datum::arrayval, Datum::bigintval, Datum::boolval, Datum::doubleval, Datum::floatval, Datum::intval, VarlenDatum::is_null, kARRAY, kBIGINT, kBOOLEAN, kCHAR, kDATE, kDECIMAL, kDOUBLE, kFLOAT, kINT, kNULLT, kNUMERIC, kSMALLINT, kTEXT, kTIME, kTIMESTAMP, kTINYINT, kVARCHAR, NULL_BIGINT, NULL_BOOLEAN, NULL_DOUBLE, NULL_FLOAT, NULL_INT, NULL_SMALLINT, NULL_TINYINT, Datum::smallintval, Datum::tinyintval, and run_benchmark_import::type.

Referenced by ChunkIter_get_next(), ChunkIter_get_nth(), and decompress().

516  {
517  // assuming Datum is always uncompressed
518  switch (type) {
519  case kBOOLEAN:
520  return (int8_t)d.boolval == NULL_BOOLEAN;
521  case kTINYINT:
522  return d.tinyintval == NULL_TINYINT;
523  case kSMALLINT:
524  return d.smallintval == NULL_SMALLINT;
525  case kINT:
526  return d.intval == NULL_INT;
527  case kBIGINT:
528  case kNUMERIC:
529  case kDECIMAL:
530  return d.bigintval == NULL_BIGINT;
531  case kFLOAT:
532  return d.floatval == NULL_FLOAT;
533  case kDOUBLE:
534  return d.doubleval == NULL_DOUBLE;
535  case kTIME:
536  case kTIMESTAMP:
537  case kDATE:
538  return d.bigintval == NULL_BIGINT;
539  case kTEXT:
540  case kVARCHAR:
541  case kCHAR:
542  // @TODO handle null strings
543  break;
544  case kNULLT:
545  return true;
546  case kARRAY:
547  return d.arrayval == NULL || d.arrayval->is_null;
548  default:
549  break;
550  }
551  return false;
552  }
int8_t tinyintval
Definition: sqltypes.h:135
#define NULL_DOUBLE
Definition: sqltypes.h:186
Definition: sqltypes.h:51
bool is_null
Definition: sqltypes.h:76
#define NULL_BIGINT
Definition: sqltypes.h:184
bool boolval
Definition: sqltypes.h:134
VarlenDatum * arrayval
Definition: sqltypes.h:141
int32_t intval
Definition: sqltypes.h:137
float floatval
Definition: sqltypes.h:139
#define NULL_TINYINT
Definition: sqltypes.h:181
int64_t bigintval
Definition: sqltypes.h:138
#define NULL_FLOAT
Definition: sqltypes.h:185
int16_t smallintval
Definition: sqltypes.h:136
#define NULL_INT
Definition: sqltypes.h:183
Definition: sqltypes.h:54
Definition: sqltypes.h:55
Definition: sqltypes.h:43
#define NULL_SMALLINT
Definition: sqltypes.h:182
SQLTypes type
Definition: sqltypes.h:657
Definition: sqltypes.h:47
#define NULL_BOOLEAN
Definition: sqltypes.h:180
double doubleval
Definition: sqltypes.h:140
+ Here is the caller graph for this function:

◆ is_null() [2/2]

HOST DEVICE bool SQLTypeInfo::is_null ( const int8_t *  val) const
inline

Definition at line 553 of file sqltypes.h.

References kDOUBLE, kFLOAT, kNULLT, NULL_BIGINT, NULL_DOUBLE, NULL_FLOAT, NULL_INT, NULL_SMALLINT, NULL_TINYINT, and run_benchmark_import::type.

553  {
554  if (type == kFLOAT) {
555  return *(float*)val == NULL_FLOAT;
556  }
557  if (type == kDOUBLE) {
558  return *(double*)val == NULL_DOUBLE;
559  }
560  // val can be either compressed or uncompressed
561  switch (size) {
562  case 1:
563  return *val == NULL_TINYINT;
564  case 2:
565  return *(int16_t*)val == NULL_SMALLINT;
566  case 4:
567  return *(int32_t*)val == NULL_INT;
568  case 8:
569  return *(int64_t*)val == NULL_BIGINT;
570  case kNULLT:
571  return true;
572  default:
573  // @TODO(wei) handle null strings
574  break;
575  }
576  return false;
577  }
#define NULL_DOUBLE
Definition: sqltypes.h:186
#define NULL_BIGINT
Definition: sqltypes.h:184
#define NULL_TINYINT
Definition: sqltypes.h:181
#define NULL_FLOAT
Definition: sqltypes.h:185
#define NULL_INT
Definition: sqltypes.h:183
#define NULL_SMALLINT
Definition: sqltypes.h:182
SQLTypes type
Definition: sqltypes.h:657

◆ is_null_fixlen_array()

HOST DEVICE bool SQLTypeInfo::is_null_fixlen_array ( const int8_t *  val,
int  array_size 
) const
inline

Definition at line 578 of file sqltypes.h.

References kARRAY, kDOUBLE, kFLOAT, kNULLT, NULL_ARRAY_BIGINT, NULL_ARRAY_DOUBLE, NULL_ARRAY_FLOAT, NULL_ARRAY_INT, NULL_ARRAY_SMALLINT, NULL_ARRAY_TINYINT, and run_benchmark_import::type.

Referenced by ChunkIter_get_nth().

578  {
579  // Check if fixed length array has a NULL_ARRAY sentinel as the first element
580  if (type == kARRAY && val && array_size > 0 && array_size == size) {
581  // Need to create element type to get the size, but can't call get_elem_type()
582  // since this is a HOST DEVICE function. Going through copy constructor instead.
583  auto elem_ti{*this};
584  elem_ti.set_type(subtype);
585  elem_ti.set_subtype(kNULLT);
586  auto elem_size = elem_ti.get_storage_size();
587  if (elem_size < 1) {
588  return false;
589  }
590  if (subtype == kFLOAT) {
591  return *(float*)val == NULL_ARRAY_FLOAT;
592  }
593  if (subtype == kDOUBLE) {
594  return *(double*)val == NULL_ARRAY_DOUBLE;
595  }
596  switch (elem_size) {
597  case 1:
598  return *val == NULL_ARRAY_TINYINT;
599  case 2:
600  return *(int16_t*)val == NULL_ARRAY_SMALLINT;
601  case 4:
602  return *(int32_t*)val == NULL_ARRAY_INT;
603  case 8:
604  return *(int64_t*)val == NULL_ARRAY_BIGINT;
605  default:
606  return false;
607  }
608  }
609  return false;
610  }
#define NULL_ARRAY_DOUBLE
Definition: sqltypes.h:194
#define NULL_ARRAY_SMALLINT
Definition: sqltypes.h:190
#define NULL_ARRAY_TINYINT
Definition: sqltypes.h:189
SQLTypes subtype
Definition: sqltypes.h:658
#define NULL_ARRAY_INT
Definition: sqltypes.h:191
#define NULL_ARRAY_BIGINT
Definition: sqltypes.h:192
SQLTypes type
Definition: sqltypes.h:657
#define NULL_ARRAY_FLOAT
Definition: sqltypes.h:193
+ Here is the caller graph for this function:

◆ is_null_point_coord_array()

HOST DEVICE bool SQLTypeInfo::is_null_point_coord_array ( const int8_t *  val,
int  array_size 
) const
inline

Definition at line 611 of file sqltypes.h.

References kARRAY, kTINYINT, NULL_ARRAY_COMPRESSED_32, NULL_ARRAY_DOUBLE, and run_benchmark_import::type.

Referenced by ChunkIter_get_nth_point_coords().

612  {
613  if (type == kARRAY && subtype == kTINYINT && val && array_size > 0 &&
614  array_size == size) {
615  if (array_size == 2 * sizeof(double)) {
616  return *(double*)val == NULL_ARRAY_DOUBLE;
617  }
618  if (array_size == 2 * sizeof(int32_t)) {
619  return *(uint32_t*)val == NULL_ARRAY_COMPRESSED_32;
620  }
621  }
622  return false;
623  }
#define NULL_ARRAY_COMPRESSED_32
Definition: sqltypes.h:196
#define NULL_ARRAY_DOUBLE
Definition: sqltypes.h:194
SQLTypes subtype
Definition: sqltypes.h:658
SQLTypes type
Definition: sqltypes.h:657
+ Here is the caller graph for this function:

◆ is_number()

◆ is_string()

bool SQLTypeInfo::is_string ( ) const
inline

Definition at line 417 of file sqltypes.h.

References IS_STRING, and run_benchmark_import::type.

Referenced by Analyzer::Expr::add_cast(), Analyzer::UOper::add_cast(), Analyzer::CaseExpr::add_cast(), Parser::InValues::analyze(), Parser::FunctionRef::analyze(), Parser::QuerySpec::analyze_group_by(), Analyzer::BinOper::analyze_type_info(), CodeGenerator::castArrayPointer(), CodeGenerator::codegenCast(), CodeGenerator::codegenCastFromString(), CodeGenerator::codegenCmp(), CodeGenerator::codegenHoistedConstantsLoads(), CodeGenerator::codegenHoistedConstantsPlaceholders(), Analyzer::BinOper::common_string_type(), Encoder::Create(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::create_parquet_none_type_encoder(), CodeGenerator::createInValuesBitmap(), Analyzer::Constant::deep_copy(), Catalog_Namespace::Catalog::delDictionary(), Parser::InsertValuesStmt::determineLeafIndex(), Analyzer::Constant::do_cast(), RelAlgExecutor::executeSimpleInsert(), get_agg_initial_val(), anonymous_namespace{TargetExprBuilder.cpp}::get_initial_agg_val(), foreign_storage::get_var_length_data_block_size(), Catalog_Namespace::Catalog::getColumnDictDirectory(), import_export::Loader::getStringDict(), ResultSet::getTargetValueFromBufferRowwise(), CodeGenerator::hashJoinLhs(), inline_fixed_encoding_null_val(), inline_int_null_val(), anonymous_namespace{Execute.cpp}::inline_null_val(), CgenState::inlineIntNull(), is_castable(), foreign_storage::csv_file_buffer_parser::is_null_datum(), is_real_str_or_array(), is_supported_type_for_extern_execution(), Fragmenter_Namespace::isStringVectorData(), ResultSet::makeVarlenTargetValue(), Parser::CaseExpr::normalize(), null_val_bit_pattern(), import_export::NullArray(), numeric_type_name(), Parser::InsertIntoTableAsSelectStmt::populateData(), anonymous_namespace{TypedDataAccessors.h}::put_scalar(), ResultSetReductionJIT::reduceOneSlot(), ResultSetStorage::reduceOneSlot(), ddl_utils::set_default_encoding(), import_export::StringToArray(), import_export::TDatumToArrayDatum(), ExpressionRange::typeSupportsRange(), Fragmenter_Namespace::InsertOrderFragmenter::updateColumn(), Fragmenter_Namespace::InsertOrderFragmenter::updateColumns(), anonymous_namespace{InputMetadata.cpp}::uses_int_meta(), ddl_utils::validate_and_set_dictionary_encoding(), ddl_utils::validate_and_set_none_encoding(), foreign_storage::anonymous_namespace{LazyParquetChunkLoader.cpp}::validate_string_mapping(), foreign_storage::AllowedParquetMetadataTypeMappings::validateStringMapping(), and Analyzer::Constant::~Constant().

417 { return IS_STRING(type); }
#define IS_STRING(T)
Definition: sqltypes.h:173
SQLTypes type
Definition: sqltypes.h:657

◆ is_string_array()

bool SQLTypeInfo::is_string_array ( ) const
inline

Definition at line 418 of file sqltypes.h.

References IS_STRING, kARRAY, and run_benchmark_import::type.

Referenced by Catalog_Namespace::Catalog::delDictionary(), anonymous_namespace{TypedDataAccessors.h}::get_element_size(), Catalog_Namespace::Catalog::getColumnDictDirectory(), ddl_utils::set_default_encoding(), ddl_utils::validate_and_set_array_size(), ddl_utils::validate_and_set_dictionary_encoding(), and ddl_utils::validate_and_set_none_encoding().

418 { return (type == kARRAY) && IS_STRING(subtype); }
SQLTypes subtype
Definition: sqltypes.h:658
#define IS_STRING(T)
Definition: sqltypes.h:173
SQLTypes type
Definition: sqltypes.h:657
+ Here is the caller graph for this function:

◆ is_time()

bool SQLTypeInfo::is_time ( ) const
inline

Definition at line 423 of file sqltypes.h.

References is_datetime(), and run_benchmark_import::type.

Referenced by Analyzer::Constant::add_cast(), Analyzer::BinOper::analyze_type_info(), CodeGenerator::codegenCast(), CodeGenerator::codegenCmp(), CodeGenerator::codegenHoistedConstantsLoads(), NumericConverterFactory< SOURCE_TYPE, TARGET_TYPE >::create(), anonymous_namespace{ArrowResultSetConverter.cpp}::create_or_append_validity(), datum_to_string(), Analyzer::Constant::do_cast(), inline_fixed_encoding_null_val(), anonymous_namespace{Execute.cpp}::inline_null_val(), anonymous_namespace{RelAlgTranslator.cpp}::is_agg_supported_for_type(), Fragmenter_Namespace::is_integral(), CodeGenerator::NullCheckCodegen::NullCheckCodegen(), numeric_type_name(), Parser::InsertIntoTableAsSelectStmt::populateData(), anonymous_namespace{TypedDataAccessors.h}::put_scalar(), Executor::reduceResults(), import_export::StringToArray(), ExpressionRange::typeSupportsRange(), Fragmenter_Namespace::InsertOrderFragmenter::updateColumn(), anonymous_namespace{InputMetadata.cpp}::uses_int_meta(), and ddl_utils::validate_and_set_fixed_encoding().

423 { return is_datetime(type); }
SQLTypes type
Definition: sqltypes.h:657
constexpr auto is_datetime(SQLTypes type)
Definition: sqltypes.h:202
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ is_timeinterval()

bool SQLTypeInfo::is_timeinterval ( ) const
inline

◆ is_timestamp()

bool SQLTypeInfo::is_timestamp ( ) const
inline

Definition at line 654 of file sqltypes.h.

References kTIMESTAMP, and run_benchmark_import::type.

Referenced by CodeGenerator::codegenCast(), NumericConverterFactory< SOURCE_TYPE, TARGET_TYPE >::create(), anonymous_namespace{ExpressionRange.cpp}::getDateTimePrecisionCastRange(), Parser::InsertIntoTableAsSelectStmt::populateData(), and foreign_storage::AllowedParquetMetadataTypeMappings::validateDateTimeMapping().

654 { return type == kTIMESTAMP; }
SQLTypes type
Definition: sqltypes.h:657
+ Here is the caller graph for this function:

◆ is_varlen()

◆ is_varlen_array()

bool SQLTypeInfo::is_varlen_array ( ) const
inline

Definition at line 426 of file sqltypes.h.

References kARRAY, and run_benchmark_import::type.

426 { return type == kARRAY && size <= 0; }
SQLTypes type
Definition: sqltypes.h:657

◆ is_varlen_indeed()

bool SQLTypeInfo::is_varlen_indeed ( ) const
inline

Definition at line 438 of file sqltypes.h.

438  {
439  // SQLTypeInfo.is_varlen() is broken with fixedlen array now
440  // and seems left broken for some concern, so fix it locally
441  return is_varlen() && !is_fixlen_array();
442  }
bool is_varlen() const
Definition: sqltypes.h:432
bool is_fixlen_array() const
Definition: sqltypes.h:427

◆ operator!=()

HOST DEVICE bool SQLTypeInfo::operator!= ( const SQLTypeInfo rhs) const
inline

Definition at line 448 of file sqltypes.h.

References get_comp_param(), get_compression(), get_dimension(), get_notnull(), get_scale(), get_subtype(), get_type(), kENCODING_NONE, TRANSIENT_DICT, and run_benchmark_import::type.

448  {
449  return type != rhs.get_type() || subtype != rhs.get_subtype() ||
450  dimension != rhs.get_dimension() || scale != rhs.get_scale() ||
451  compression != rhs.get_compression() ||
454  notnull != rhs.get_notnull();
455  }
HOST DEVICE int get_comp_param() const
Definition: sqltypes.h:268
HOST DEVICE EncodingType get_compression() const
Definition: sqltypes.h:267
HOST DEVICE int get_scale() const
Definition: sqltypes.h:264
HOST DEVICE bool get_notnull() const
Definition: sqltypes.h:266
SQLTypes subtype
Definition: sqltypes.h:658
bool notnull
Definition: sqltypes.h:661
HOST DEVICE SQLTypes get_subtype() const
Definition: sqltypes.h:260
EncodingType compression
Definition: sqltypes.h:662
HOST DEVICE int get_dimension() const
Definition: sqltypes.h:261
HOST DEVICE SQLTypes get_type() const
Definition: sqltypes.h:259
SQLTypes type
Definition: sqltypes.h:657
#define TRANSIENT_DICT(ID)
Definition: sqltypes.h:199
int comp_param
Definition: sqltypes.h:663
int dimension
Definition: sqltypes.h:659
+ Here is the call graph for this function:

◆ operator=()

HOST DEVICE void SQLTypeInfo::operator= ( const SQLTypeInfo rhs)
inline

Definition at line 476 of file sqltypes.h.

References get_comp_param(), get_compression(), get_dimension(), get_notnull(), get_scale(), get_size(), get_subtype(), get_type(), and run_benchmark_import::type.

476  {
477  type = rhs.get_type();
478  subtype = rhs.get_subtype();
479  dimension = rhs.get_dimension();
480  scale = rhs.get_scale();
481  notnull = rhs.get_notnull();
483  comp_param = rhs.get_comp_param();
484  size = rhs.get_size();
485  }
HOST DEVICE int get_comp_param() const
Definition: sqltypes.h:268
HOST DEVICE int get_size() const
Definition: sqltypes.h:269
HOST DEVICE EncodingType get_compression() const
Definition: sqltypes.h:267
HOST DEVICE int get_scale() const
Definition: sqltypes.h:264
HOST DEVICE bool get_notnull() const
Definition: sqltypes.h:266
SQLTypes subtype
Definition: sqltypes.h:658
bool notnull
Definition: sqltypes.h:661
HOST DEVICE SQLTypes get_subtype() const
Definition: sqltypes.h:260
EncodingType compression
Definition: sqltypes.h:662
HOST DEVICE int get_dimension() const
Definition: sqltypes.h:261
HOST DEVICE SQLTypes get_type() const
Definition: sqltypes.h:259
SQLTypes type
Definition: sqltypes.h:657
int comp_param
Definition: sqltypes.h:663
int dimension
Definition: sqltypes.h:659
+ Here is the call graph for this function:

◆ operator==()

HOST DEVICE bool SQLTypeInfo::operator== ( const SQLTypeInfo rhs) const
inline

Definition at line 456 of file sqltypes.h.

References get_comp_param(), get_compression(), get_dimension(), get_notnull(), get_scale(), get_subtype(), get_type(), kENCODING_NONE, TRANSIENT_DICT, and run_benchmark_import::type.

456  {
457  return type == rhs.get_type() && subtype == rhs.get_subtype() &&
458  dimension == rhs.get_dimension() && scale == rhs.get_scale() &&
459  compression == rhs.get_compression() &&
462  notnull == rhs.get_notnull();
463  }
HOST DEVICE int get_comp_param() const
Definition: sqltypes.h:268
HOST DEVICE EncodingType get_compression() const
Definition: sqltypes.h:267
HOST DEVICE int get_scale() const
Definition: sqltypes.h:264
HOST DEVICE bool get_notnull() const
Definition: sqltypes.h:266
SQLTypes subtype
Definition: sqltypes.h:658
bool notnull
Definition: sqltypes.h:661
HOST DEVICE SQLTypes get_subtype() const
Definition: sqltypes.h:260
EncodingType compression
Definition: sqltypes.h:662
HOST DEVICE int get_dimension() const
Definition: sqltypes.h:261
HOST DEVICE SQLTypes get_type() const
Definition: sqltypes.h:259
SQLTypes type
Definition: sqltypes.h:657
#define TRANSIENT_DICT(ID)
Definition: sqltypes.h:199
int comp_param
Definition: sqltypes.h:663
int dimension
Definition: sqltypes.h:659
+ Here is the call graph for this function:

◆ set_comp_param()

◆ set_compression()

◆ set_dimension()

void SQLTypeInfo::set_dimension ( int  d)
inline

Definition at line 351 of file sqltypes.h.

Referenced by Analyzer::BinOper::analyze_type_info(), Catalog_Namespace::Catalog::buildMaps(), parse_numeric(), File_Namespace::FileBuffer::readMetadata(), and ddl_utils::validate_and_set_type().

351 { dimension = d; }
int dimension
Definition: sqltypes.h:659
+ Here is the caller graph for this function:

◆ set_fixed_size()

void SQLTypeInfo::set_fixed_size ( )
inline

Definition at line 358 of file sqltypes.h.

Referenced by Parser::QuerySpec::analyze_group_by(), Analyzer::BinOper::common_numeric_type(), import_export::Importer::gdalToColumnDescriptors(), Parser::OperExpr::normalize(), and ddl_utils::validate_and_set_array_size().

358 { size = get_storage_size(); }
HOST DEVICE int get_storage_size() const
Definition: sqltypes.h:669
+ Here is the caller graph for this function:

◆ set_input_srid()

void SQLTypeInfo::set_input_srid ( int  d)
inline

Definition at line 353 of file sqltypes.h.

Referenced by import_export::Importer::gdalToColumnDescriptors(), Geospatial::GeoTypesFactory::getGeoColumns(), RelAlgTranslator::translateGeoFunctionArg(), RelAlgTranslator::translateGeoLiteral(), and ddl_utils::validate_and_set_type().

353 { dimension = d; }
int dimension
Definition: sqltypes.h:659
+ Here is the caller graph for this function:

◆ set_notnull()

void SQLTypeInfo::set_notnull ( bool  n)
inline

Definition at line 356 of file sqltypes.h.

Referenced by Analyzer::BinOper::analyze_type_info(), Catalog_Namespace::Catalog::buildMaps(), get_compact_type(), get_nullable_type_info(), Parser::CaseExpr::normalize(), parse_numeric(), File_Namespace::FileBuffer::readMetadata(), ddl_utils::set_column_descriptor(), and RelAlgTranslator::translateFunction().

356 { notnull = n; }
bool notnull
Definition: sqltypes.h:661
+ Here is the caller graph for this function:

◆ set_output_srid()

void SQLTypeInfo::set_output_srid ( int  s)
inline

Definition at line 355 of file sqltypes.h.

Referenced by import_export::Importer::gdalToColumnDescriptors(), Geospatial::GeoTypesFactory::getGeoColumns(), RelAlgTranslator::translateGeoBinaryConstructor(), RelAlgTranslator::translateGeoFunctionArg(), RelAlgTranslator::translateGeoLiteral(), and ddl_utils::validate_and_set_type().

355 { scale = s; }
+ Here is the caller graph for this function:

◆ set_precision()

void SQLTypeInfo::set_precision ( int  d)
inline

Definition at line 352 of file sqltypes.h.

Referenced by Parser::FixedPtLiteral::analyzeValue(), anonymous_namespace{RelAlgTranslator.cpp}::build_type_info(), and anonymous_namespace{RelAlgDagBuilder.cpp}::parse_type().

352 { dimension = d; }
int dimension
Definition: sqltypes.h:659
+ Here is the caller graph for this function:

◆ set_scale()

void SQLTypeInfo::set_scale ( int  s)
inline

◆ set_size()

void SQLTypeInfo::set_size ( int  s)
inline

◆ set_subtype()

HOST DEVICE void SQLTypeInfo::set_subtype ( SQLTypes  st)
inline

Definition at line 350 of file sqltypes.h.

Referenced by Parser::ArrayLiteral::analyze(), Catalog_Namespace::Catalog::buildMaps(), Catalog_Namespace::Catalog::expandGeoColumn(), import_export::Importer::gdalToColumnDescriptors(), File_Namespace::FileBuffer::readMetadata(), RelAlgTranslator::translateGeoFunctionArg(), RelAlgTranslator::translateGeoLiteral(), and ddl_utils::validate_and_set_type().

350 { subtype = st; }
SQLTypes subtype
Definition: sqltypes.h:658
+ Here is the caller graph for this function:

◆ set_type()

HOST DEVICE void SQLTypeInfo::set_type ( SQLTypes  t)
inline

Definition at line 349 of file sqltypes.h.

References run_benchmark_import::type.

Referenced by Catalog_Namespace::Catalog::buildMaps(), import_export::Importer::gdalToColumnDescriptors(), Geospatial::GeoTypesFactory::getGeoColumnsImpl(), File_Namespace::FileBuffer::readMetadata(), RelAlgTranslator::translateGeoBinaryConstructor(), RelAlgTranslator::translateGeoFunctionArg(), and ddl_utils::validate_and_set_type().

349 { type = t; }
SQLTypes type
Definition: sqltypes.h:657
+ Here is the caller graph for this function:

◆ to_string()

std::string SQLTypeInfo::to_string ( ) const
inline

Definition at line 395 of file sqltypes.h.

References concat(), and run_benchmark_import::type.

Referenced by RelLogicalUnion::checkForMatchingMetaInfoTypes(), DatumToString(), operator<<(), and TargetInfo::toString().

395  {
396  return concat("(",
397  type_name[static_cast<int>(type)],
398  ", ",
399  get_dimension(),
400  ", ",
401  get_scale(),
402  ", ",
403  get_notnull() ? "not nullable" : "nullable",
404  ", ",
406  ", ",
407  get_comp_param(),
408  ", ",
409  type_name[static_cast<int>(subtype)],
410  ": ",
411  get_size(),
412  ": ",
414  ")");
415  }
HOST DEVICE int get_comp_param() const
Definition: sqltypes.h:268
HOST DEVICE int get_size() const
Definition: sqltypes.h:269
HOST DEVICE int get_scale() const
Definition: sqltypes.h:264
HOST DEVICE bool get_notnull() const
Definition: sqltypes.h:266
std::string concat(Types &&... parms)
static std::string type_name[kSQLTYPE_LAST]
Definition: sqltypes.h:666
SQLTypes subtype
Definition: sqltypes.h:658
std::string get_compression_name() const
Definition: sqltypes.h:394
HOST DEVICE int get_dimension() const
Definition: sqltypes.h:261
SQLTypeInfo get_elem_type() const
Definition: sqltypes.h:624
SQLTypes type
Definition: sqltypes.h:657
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ comp_name

std::string SQLTypeInfo::comp_name
staticprivate
Initial value:
=
{"NONE", "FIXED", "RL", "DIFF", "DICT", "SPARSE", "COMPRESSED", "DAYS"}

Definition at line 667 of file sqltypes.h.

◆ comp_param

int SQLTypeInfo::comp_param
private

Definition at line 663 of file sqltypes.h.

◆ compression

EncodingType SQLTypeInfo::compression
private

Definition at line 662 of file sqltypes.h.

◆ dimension

int SQLTypeInfo::dimension
private

Definition at line 659 of file sqltypes.h.

◆ notnull

bool SQLTypeInfo::notnull
private

Definition at line 661 of file sqltypes.h.

◆ scale

int SQLTypeInfo::scale
private

Definition at line 660 of file sqltypes.h.

◆ size

int SQLTypeInfo::size
private

Definition at line 664 of file sqltypes.h.

◆ subtype

SQLTypes SQLTypeInfo::subtype
private

Definition at line 658 of file sqltypes.h.

◆ type

◆ type_name

std::string SQLTypeInfo::type_name
staticprivate
Initial value:
= {"NULL",
"BOOLEAN",
"CHAR",
"VARCHAR",
"NUMERIC",
"DECIMAL",
"INTEGER",
"SMALLINT",
"FLOAT",
"DOUBLE",
"TIME",
"TIMESTAMP",
"BIGINT",
"TEXT",
"DATE",
"ARRAY",
"INTERVAL_DAY_TIME",
"INTERVAL_YEAR_MONTH",
"POINT",
"LINESTRING",
"POLYGON",
"MULTIPOLYGON",
"TINYINT",
"GEOMETRY",
"GEOGRAPHY",
"EVAL_CONTEXT_TYPE",
"VOID",
"CURSOR",
"COLUMN"}

Definition at line 666 of file sqltypes.h.


The documentation for this class was generated from the following files: