OmniSciDB
a5dc49c757
|
#include <GeospatialEncoder.h>
Public Member Functions | |
virtual | ~GeospatialEncoder ()=default |
GeospatialEncoder (const bool geo_validate_geometry) | |
GeospatialEncoder (std::list< Chunk_NS::Chunk > &chunks, const bool geo_validate_geometry) | |
GeospatialEncoder (std::list< Chunk_NS::Chunk > &chunks, std::list< std::unique_ptr< ChunkMetadata >> &chunk_metadata, const bool geo_validate_geometry) | |
Protected Types | |
enum | GeoColumnType { COORDS, BOUNDS, RING_OR_LINE_SIZES, POLY_RINGS } |
Protected Member Functions | |
void | appendBaseDataAndUpdateMetadata (const int64_t row_count) |
void | validateChunksSizing (std::list< Chunk_NS::Chunk > &chunks) const |
void | validateMetadataSizing (std::list< std::unique_ptr< ChunkMetadata >> &chunk_metadata) const |
void | appendArrayDatumsToBufferAndUpdateMetadata () |
void | appendToArrayEncoderAndUpdateMetadata (const std::vector< ArrayDatum > &datum_parse_buffer, Encoder *encoder, ChunkMetadata *chunk_metadata) const |
void | processGeoElement (std::string_view geo_string_view) |
void | processNullGeoElement () |
void | clearParseBuffers () |
void | clearDatumBuffers () |
template<typename T > | |
std::list< T >::iterator | getIteratorForGeoColumnType (std::list< T > &list, const SQLTypes column_type, const GeoColumnType geo_column) |
std::tuple< Encoder *, ChunkMetadata *, const ColumnDescriptor * > | initEncoderAndGetEncoderAndMetadata (std::list< Chunk_NS::Chunk > &chunks, std::list< std::unique_ptr< ChunkMetadata >> &chunk_metadata, const SQLTypes sql_type, GeoColumnType geo_column_type) |
const ColumnDescriptor * | getColumnDescriptor (std::list< Chunk_NS::Chunk > &chunks, const SQLTypes sql_type, GeoColumnType geo_column_type) |
bool | hasBoundsColumn () const |
bool | hasRingOrLineSizesColumn () const |
bool | hasPolyRingsColumn () const |
Static Protected Member Functions | |
static void | throwMalformedGeoElement (const std::string &omnisci_column_name) |
static void | throwMismatchedGeoElement (const std::string &omnisci_column_name) |
Definition at line 39 of file GeospatialEncoder.h.
|
protected |
Enumerator | |
---|---|
COORDS | |
BOUNDS | |
RING_OR_LINE_SIZES | |
POLY_RINGS |
Definition at line 288 of file GeospatialEncoder.h.
|
virtualdefault |
|
inline |
Definition at line 43 of file GeospatialEncoder.h.
|
inline |
Definition at line 46 of file GeospatialEncoder.h.
|
inline |
Definition at line 84 of file GeospatialEncoder.h.
|
inlineprotected |
Definition at line 164 of file GeospatialEncoder.h.
References appendToArrayEncoderAndUpdateMetadata(), bounds_column_encoder_, bounds_column_metadata_, bounds_datum_buffer_, coords_column_encoder_, coords_column_metadata_, coords_datum_buffer_, poly_rings_column_encoder_, poly_rings_column_metadata_, poly_rings_datum_buffer_, ring_or_line_sizes_column_encoder_, ring_or_line_sizes_column_metadata_, and ring_or_line_sizes_datum_buffer_.
Referenced by foreign_storage::OdbcGeospatialEncoder::appendData(), foreign_storage::ParquetGeospatialEncoder::appendData(), and data_conversion::StringViewToGeoEncoder::encodeAndAppendData().
|
inlineprotected |
Definition at line 147 of file GeospatialEncoder.h.
References StringNoneEncoder::appendData(), base_column_encoder_, base_column_metadata_, and base_values_.
Referenced by foreign_storage::OdbcGeospatialEncoder::appendData(), foreign_storage::ParquetGeospatialEncoder::appendData(), and data_conversion::StringViewToGeoEncoder::encodeAndAppendData().
|
inlineprotected |
Definition at line 177 of file GeospatialEncoder.h.
References CHECK, and UNREACHABLE.
Referenced by appendArrayDatumsToBufferAndUpdateMetadata().
|
inlineprotected |
Definition at line 281 of file GeospatialEncoder.h.
References bounds_datum_buffer_, coords_datum_buffer_, poly_rings_datum_buffer_, and ring_or_line_sizes_datum_buffer_.
Referenced by foreign_storage::OdbcGeospatialEncoder::appendData(), foreign_storage::ParquetGeospatialEncoder::appendData(), foreign_storage::ParquetGeospatialImportEncoder::appendData(), and data_conversion::StringViewToGeoEncoder::encodeAndAppendData().
|
inlineprotected |
Definition at line 274 of file GeospatialEncoder.h.
References bounds_parse_buffer_, coords_parse_buffer_, poly_rings_parse_buffer_, and ring_or_line_sizes_parse_buffer_.
Referenced by foreign_storage::OdbcGeospatialEncoder::appendData(), foreign_storage::ParquetGeospatialEncoder::appendData(), foreign_storage::ParquetGeospatialImportEncoder::appendData(), and data_conversion::StringViewToGeoEncoder::encodeAndAppendData().
|
inlineprotected |
Definition at line 382 of file GeospatialEncoder.h.
References getIteratorForGeoColumnType().
|
inlineprotected |
Definition at line 291 of file GeospatialEncoder.h.
References BOUNDS, COORDS, kLINESTRING, kMULTILINESTRING, kMULTIPOINT, kMULTIPOLYGON, kPOINT, kPOLYGON, POLY_RINGS, RING_OR_LINE_SIZES, and UNREACHABLE.
Referenced by foreign_storage::ParquetGeospatialImportEncoder::getBuffer(), getColumnDescriptor(), and initEncoderAndGetEncoderAndMetadata().
|
inlineprotected |
Definition at line 403 of file GeospatialEncoder.h.
References ColumnDescriptor::columnType, geo_column_descriptor_, SQLTypeInfo::get_type(), kLINESTRING, kMULTILINESTRING, kMULTIPOINT, kMULTIPOLYGON, and kPOLYGON.
Referenced by foreign_storage::ParquetGeospatialImportEncoder::eraseInvalidIndicesInBuffer(), foreign_storage::ParquetGeospatialImportEncoder::ParquetGeospatialImportEncoder(), processGeoElement(), and processNullGeoElement().
|
inlineprotected |
Definition at line 416 of file GeospatialEncoder.h.
References ColumnDescriptor::columnType, geo_column_descriptor_, SQLTypeInfo::get_type(), and kMULTIPOLYGON.
Referenced by foreign_storage::ParquetGeospatialImportEncoder::eraseInvalidIndicesInBuffer(), foreign_storage::ParquetGeospatialImportEncoder::ParquetGeospatialImportEncoder(), processGeoElement(), and processNullGeoElement().
|
inlineprotected |
Definition at line 410 of file GeospatialEncoder.h.
References ColumnDescriptor::columnType, geo_column_descriptor_, SQLTypeInfo::get_type(), kMULTILINESTRING, kMULTIPOLYGON, and kPOLYGON.
Referenced by foreign_storage::ParquetGeospatialImportEncoder::eraseInvalidIndicesInBuffer(), foreign_storage::ParquetGeospatialImportEncoder::ParquetGeospatialImportEncoder(), processGeoElement(), and processNullGeoElement().
|
inlineprotected |
Definition at line 368 of file GeospatialEncoder.h.
References getIteratorForGeoColumnType().
|
inlineprotected |
Definition at line 199 of file GeospatialEncoder.h.
References bounds_datum_buffer_, bounds_parse_buffer_, ColumnDescriptor::columnName, ColumnDescriptor::columnType, Geospatial::compress_coords(), coords_datum_buffer_, coords_parse_buffer_, foreign_storage::encode_as_array_datum(), geo_column_descriptor_, geo_promoted_type_match(), geo_validate_geometry_, SQLTypeInfo::get_type(), Geospatial::GeoTypesFactory::getGeoColumns(), hasBoundsColumn(), hasPolyRingsColumn(), hasRingOrLineSizesColumn(), poly_rings_datum_buffer_, poly_rings_parse_buffer_, ring_or_line_sizes_datum_buffer_, ring_or_line_sizes_parse_buffer_, throwMalformedGeoElement(), and throwMismatchedGeoElement().
Referenced by foreign_storage::OdbcGeospatialEncoder::appendData(), foreign_storage::ParquetGeospatialEncoder::appendData(), foreign_storage::ParquetGeospatialImportEncoder::appendData(), and data_conversion::StringViewToGeoEncoder::encodeAndAppendData().
|
inlineprotected |
Definition at line 241 of file GeospatialEncoder.h.
References bounds_column_descriptor_, bounds_datum_buffer_, bounds_parse_buffer_, ColumnDescriptor::columnType, import_export::ImporterUtils::composeNullArray(), Geospatial::compress_coords(), coords_column_descriptor_, coords_datum_buffer_, coords_parse_buffer_, foreign_storage::encode_as_array_datum(), geo_column_descriptor_, SQLTypeInfo::get_type(), Geospatial::GeoTypesFactory::getNullGeoColumns(), hasBoundsColumn(), hasPolyRingsColumn(), hasRingOrLineSizesColumn(), kPOINT, poly_rings_column_descriptor_, poly_rings_datum_buffer_, poly_rings_parse_buffer_, ring_or_line_sizes_column_descriptor_, ring_or_line_sizes_datum_buffer_, and ring_or_line_sizes_parse_buffer_.
Referenced by foreign_storage::OdbcGeospatialEncoder::appendData(), foreign_storage::ParquetGeospatialEncoder::appendData(), foreign_storage::ParquetGeospatialImportEncoder::appendData(), and data_conversion::StringViewToGeoEncoder::encodeAndAppendData().
|
inlinestaticprotected |
Definition at line 390 of file GeospatialEncoder.h.
Referenced by processGeoElement().
|
inlinestaticprotected |
Definition at line 396 of file GeospatialEncoder.h.
Referenced by processGeoElement().
|
inlineprotected |
Definition at line 153 of file GeospatialEncoder.h.
References CHECK_EQ, ColumnDescriptor::columnType, geo_column_descriptor_, and SQLTypeInfo::get_physical_cols().
|
inlineprotected |
Definition at line 158 of file GeospatialEncoder.h.
References CHECK_EQ, ColumnDescriptor::columnType, geo_column_descriptor_, and SQLTypeInfo::get_physical_cols().
|
protected |
Definition at line 423 of file GeospatialEncoder.h.
Referenced by appendBaseDataAndUpdateMetadata().
|
protected |
Definition at line 429 of file GeospatialEncoder.h.
Referenced by appendBaseDataAndUpdateMetadata().
|
protected |
Definition at line 440 of file GeospatialEncoder.h.
Referenced by appendBaseDataAndUpdateMetadata().
|
protected |
Definition at line 436 of file GeospatialEncoder.h.
Referenced by processNullGeoElement().
|
protected |
Definition at line 425 of file GeospatialEncoder.h.
Referenced by appendArrayDatumsToBufferAndUpdateMetadata().
|
protected |
Definition at line 431 of file GeospatialEncoder.h.
Referenced by appendArrayDatumsToBufferAndUpdateMetadata().
|
protected |
Definition at line 451 of file GeospatialEncoder.h.
Referenced by foreign_storage::ParquetGeospatialImportEncoder::appendArrayDatumsToBuffer(), appendArrayDatumsToBufferAndUpdateMetadata(), clearDatumBuffers(), processGeoElement(), and processNullGeoElement().
|
protected |
Definition at line 445 of file GeospatialEncoder.h.
Referenced by clearParseBuffers(), processGeoElement(), and processNullGeoElement().
|
protected |
Definition at line 435 of file GeospatialEncoder.h.
Referenced by processNullGeoElement().
|
protected |
Definition at line 424 of file GeospatialEncoder.h.
Referenced by appendArrayDatumsToBufferAndUpdateMetadata().
|
protected |
Definition at line 430 of file GeospatialEncoder.h.
Referenced by appendArrayDatumsToBufferAndUpdateMetadata().
|
protected |
Definition at line 450 of file GeospatialEncoder.h.
Referenced by foreign_storage::ParquetGeospatialImportEncoder::appendArrayDatumsToBuffer(), appendArrayDatumsToBufferAndUpdateMetadata(), clearDatumBuffers(), processGeoElement(), and processNullGeoElement().
|
protected |
Definition at line 444 of file GeospatialEncoder.h.
Referenced by clearParseBuffers(), processGeoElement(), and processNullGeoElement().
|
protected |
Definition at line 421 of file GeospatialEncoder.h.
Referenced by hasBoundsColumn(), hasPolyRingsColumn(), hasRingOrLineSizesColumn(), foreign_storage::ParquetGeospatialImportEncoder::ParquetGeospatialImportEncoder(), processGeoElement(), processNullGeoElement(), validateChunksSizing(), and validateMetadataSizing().
|
protected |
Definition at line 456 of file GeospatialEncoder.h.
Referenced by processGeoElement().
|
protected |
Definition at line 438 of file GeospatialEncoder.h.
Referenced by processNullGeoElement().
|
protected |
Definition at line 427 of file GeospatialEncoder.h.
Referenced by appendArrayDatumsToBufferAndUpdateMetadata().
|
protected |
Definition at line 433 of file GeospatialEncoder.h.
Referenced by appendArrayDatumsToBufferAndUpdateMetadata().
|
protected |
Definition at line 453 of file GeospatialEncoder.h.
Referenced by foreign_storage::ParquetGeospatialImportEncoder::appendArrayDatumsToBuffer(), appendArrayDatumsToBufferAndUpdateMetadata(), clearDatumBuffers(), processGeoElement(), and processNullGeoElement().
|
protected |
Definition at line 447 of file GeospatialEncoder.h.
Referenced by clearParseBuffers(), processGeoElement(), and processNullGeoElement().
|
protected |
Definition at line 437 of file GeospatialEncoder.h.
Referenced by processNullGeoElement().
|
protected |
Definition at line 426 of file GeospatialEncoder.h.
Referenced by appendArrayDatumsToBufferAndUpdateMetadata().
|
protected |
Definition at line 432 of file GeospatialEncoder.h.
Referenced by appendArrayDatumsToBufferAndUpdateMetadata().
|
protected |
Definition at line 452 of file GeospatialEncoder.h.
Referenced by foreign_storage::ParquetGeospatialImportEncoder::appendArrayDatumsToBuffer(), appendArrayDatumsToBufferAndUpdateMetadata(), clearDatumBuffers(), processGeoElement(), and processNullGeoElement().
|
protected |
Definition at line 446 of file GeospatialEncoder.h.
Referenced by clearParseBuffers(), processGeoElement(), and processNullGeoElement().