Struct DictionaryValueConverter¶
-
template<typename
TARGET_TYPE
>
structDictionaryValueConverter
: public NumericValueConverter<int64_t, TARGET_TYPE>¶ Public Types
-
template<>
usingElementsDataColumnPtr
= typename NumericValueConverter<int64_t, TARGET_TYPE>::ColumnDataPtr¶
-
template<>
usingElementsBufferColumnPtr
= std::unique_ptr<std::vector<int32_t>>¶
Public Functions
-
DictionaryValueConverter
(const Catalog_Namespace::Catalog &cat, int32_t sourceDictId, const ColumnDescriptor *targetDescriptor, size_t num_rows, TARGET_TYPE nullValue, int64_t nullCheckValue, bool doNullCheck, StringDictionaryProxy *literals_dict, StringDictionaryProxy *source_dict_proxy)¶
-
~DictionaryValueConverter
()¶
-
ElementsBufferColumnPtr
allocateColumnarBuffer
(size_t num_rows)¶
-
void
convertElementToColumnarFormat
(size_t row, typename ElementsBufferColumnPtr::pointer columnBuffer, const ScalarTargetValue *scalarValue)¶
-
void
convertToColumnarFormat
(size_t row, const ScalarTargetValue *scalarValue)¶
-
void
convertToColumnarFormat
(size_t row, const TargetValue *value)¶
-
int32_t
convertTransientStringIdToPermanentId
(int32_t &transient_string_id)¶
-
NumericValueConverter<int64_t, TARGET_TYPE>::ColumnDataPtr
processBuffer
(ElementsBufferColumnPtr buffer)¶
-
void
processArrayBuffer
(std::unique_ptr<std::vector<std::pair<size_t, ElementsBufferColumnPtr>>> &array_buffer, std::unique_ptr<std::vector<ArrayDatum>>::pointer arrayData)¶
-
void
finalizeDataBlocksForInsertData
()¶
-
void
addDataBlocksToInsertData
(Fragmenter_Namespace::InsertData &insertData)¶
Public Members
-
ElementsBufferColumnPtr
column_buffer_
¶
-
const DictDescriptor *
target_dict_desc_
¶
-
const DictDescriptor *
source_dict_desc_
¶
-
StringDictionaryProxy *
source_dict_proxy_
¶
-
const int32_t
buffer_null_sentinal_
= std::numeric_limits<int32_t>::min()¶
-
const StringDictionaryProxy *
literals_dict_
¶
-
std::unordered_map<int32_t, int32_t>
literals_lookup_
¶
-
bool
use_literals_
¶
-
template<>