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<>