Class RowSetMemoryOwner¶
-
class
RowSetMemoryOwner
: public SimpleAllocator, private noncopyable¶ Handles allocations and outputs for all stages in a query, either explicitly or via a managed allocator object
Public Functions
-
RowSetMemoryOwner
(const size_t arena_block_size, const size_t num_kernel_threads = 0)¶
-
int8_t *
allocate
(const size_t num_bytes, const size_t thread_idx = 0)¶
-
int8_t *
allocateCountDistinctBuffer
(const size_t num_bytes, const size_t thread_idx = 0)¶
-
void
addCountDistinctBuffer
(int8_t *count_distinct_buffer, const size_t bytes, const bool physical_buffer)¶
-
void
addCountDistinctSet
(CountDistinctSet *count_distinct_set)¶
-
void
addGroupByBuffer
(int64_t *group_by_buffer)¶
-
void
addVarlenBuffer
(void *varlen_buffer)¶
-
void
addVarlenInputBuffer
(Data_Namespace::AbstractBuffer *buffer)¶ Adds a GPU buffer containing a variable length input column. Variable length inputs on GPU are referenced in output projected targets and should not be freed until the query results have been resolved.
-
std::string *
addString
(const std::string &str)¶
-
std::vector<int64_t> *
addArray
(const std::vector<int64_t> &arr)¶
-
const StringDictionaryProxy::IdMap *
addStringProxyIntersectionTranslationMap
(const StringDictionaryProxy *source_proxy, const StringDictionaryProxy *dest_proxy)¶
-
const StringDictionaryProxy::IdMap *
addStringProxyUnionTranslationMap
(const StringDictionaryProxy *source_proxy, StringDictionaryProxy *dest_proxy)¶
-
StringDictionaryProxy *
getStringDictProxy
(const int dict_id) const¶
-
StringDictionaryProxy *
getOrAddStringDictProxy
(const int dict_id_in, const bool with_generation, const Catalog_Namespace::Catalog *catalog)¶
-
StringDictionaryProxy *
getLiteralStringDictProxy
() const¶
-
const StringDictionaryProxy::IdMap *
getOrAddStringProxyTranslationMap
(const int source_dict_id_in, const int dest_dict_id_in, const bool with_generation, const StringTranslationType translation_map_type, const Catalog_Namespace::Catalog *catalog)¶
-
void
addColBuffer
(const void *col_buffer)¶
-
~RowSetMemoryOwner
()¶
-
std::shared_ptr<RowSetMemoryOwner>
cloneStrDictDataOnly
()¶
-
void
setDictionaryGenerations
(StringDictionaryGenerations generations)¶
-
StringDictionaryGenerations &
getStringDictionaryGenerations
()¶
-
quantile::TDigest *
nullTDigest
(double const q)¶
Private Members
-
std::vector<CountDistinctBitmapBuffer>
count_distinct_bitmaps_
¶
-
std::vector<CountDistinctSet *>
count_distinct_sets_
¶
-
std::vector<int64_t *>
group_by_buffers_
¶
-
std::vector<void *>
varlen_buffers_
¶
-
std::list<std::string>
strings_
¶
-
std::list<std::vector<int64_t>>
arrays_
¶
-
std::unordered_map<int, std::shared_ptr<StringDictionaryProxy>>
str_dict_proxy_owned_
¶
-
std::map<std::pair<int, int>, StringDictionaryProxy::IdMap>
str_proxy_intersection_translation_maps_owned_
¶
-
std::map<std::pair<int, int>, StringDictionaryProxy::IdMap>
str_proxy_union_translation_maps_owned_
¶
-
std::shared_ptr<StringDictionaryProxy>
lit_str_dict_proxy_
¶
-
StringDictionaryGenerations
string_dictionary_generations_
¶
-
std::vector<void *>
col_buffers_
¶
-
std::vector<Data_Namespace::AbstractBuffer *>
varlen_input_buffers_
¶
-
std::vector<std::unique_ptr<quantile::TDigest>>
t_digests_
¶
-
size_t
arena_block_size_
¶
-
std::mutex
state_mutex_
¶
Friends
-
friend
RowSetMemoryOwner::ResultSet
-
friend
RowSetMemoryOwner::QueryExecutionContext
-
struct
CountDistinctBitmapBuffer
¶
-