Struct ArrayValueConverter

template<typename ELEMENT_CONVERTER>
struct ArrayValueConverter : public TargetValueConverter

Public Functions

ArrayValueConverter(const ColumnDescriptor *cd, size_t num_rows, std::unique_ptr<ELEMENT_CONVERTER> element_converter, bool do_check_null)
~ArrayValueConverter()
void allocateColumnarData(size_t num_rows)
void convertToColumnarFormat(size_t row, const TargetValue *value)
void finalizeDataBlocksForInsertData()
void addDataBlocksToInsertData(Fragmenter_Namespace::InsertData &insertData)

Public Members

std::unique_ptr<std::vector<std::pair<size_t, typename ELEMENT_CONVERTER::ElementsBufferColumnPtr>>> column_buffer_
std::unique_ptr<std::vector<ArrayDatum>> column_data_
std::unique_ptr<ELEMENT_CONVERTER> element_converter_
SQLTypeInfo element_type_info_
bool do_check_null_
bool data_finalized_ = false
int8_t *fixed_array_null_sentinel_
size_t fixed_array_size_
size_t fixed_array_elements_count_
boost_variant_accessor<ArrayTargetValue> ARRAY_VALUE_ACCESSOR