OmniSciDB
bf83d84833
|
#include <RowSetMemoryOwner.h>
Classes | |
struct | CountDistinctBitmapBuffer |
Public Member Functions | |
RowSetMemoryOwner (const size_t arena_block_size) | |
int8_t * | allocate (const size_t num_bytes) |
int8_t * | allocateCountDistinctBuffer (const size_t num_bytes) |
void | addCountDistinctBuffer (int8_t *count_distinct_buffer, const size_t bytes, const bool physical_buffer) |
void | addCountDistinctSet (std::set< int64_t > *count_distinct_set) |
void | addGroupByBuffer (int64_t *group_by_buffer) |
void | addVarlenBuffer (void *varlen_buffer) |
void | addVarlenInputBuffer (Data_Namespace::AbstractBuffer *buffer) |
std::string * | addString (const std::string &str) |
std::vector< int64_t > * | addArray (const std::vector< int64_t > &arr) |
StringDictionaryProxy * | addStringDict (std::shared_ptr< StringDictionary > str_dict, const int dict_id, const int64_t generation) |
StringDictionaryProxy * | getStringDictProxy (const int dict_id) const |
StringDictionaryProxy * | getOrAddStringDictProxy (const int dict_id_in, const bool with_generation, const Catalog_Namespace::Catalog *catalog) |
void | addLiteralStringDictProxy (std::shared_ptr< StringDictionaryProxy > lit_str_dict_proxy) |
StringDictionaryProxy * | getLiteralStringDictProxy () const |
void | addColBuffer (const void *col_buffer) |
~RowSetMemoryOwner () | |
std::shared_ptr < RowSetMemoryOwner > | cloneStrDictDataOnly () |
void | setDictionaryGenerations (StringDictionaryGenerations generations) |
StringDictionaryGenerations & | getStringDictionaryGenerations () |
quantile::TDigest * | newTDigest () |
Private Attributes | |
std::vector < CountDistinctBitmapBuffer > | count_distinct_bitmaps_ |
std::vector< std::set< int64_t > * > | 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::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_ |
std::vector < quantile::TDigest::Memory > | t_digest_buffers_ |
size_t | arena_block_size_ |
std::unique_ptr< Arena > | allocator_ |
std::mutex | state_mutex_ |
Friends | |
class | ResultSet |
class | QueryExecutionContext |
Handles allocations and outputs for all stages in a query, either explicitly or via a managed allocator object
Definition at line 43 of file RowSetMemoryOwner.h.
|
inline |
Definition at line 45 of file RowSetMemoryOwner.h.
|
inline |
Definition at line 155 of file RowSetMemoryOwner.h.
References CHECK, col_buffers_, count_distinct_sets_, group_by_buffers_, varlen_buffers_, and varlen_input_buffers_.
|
inline |
Definition at line 104 of file RowSetMemoryOwner.h.
References arrays_, and state_mutex_.
|
inline |
Definition at line 150 of file RowSetMemoryOwner.h.
References col_buffers_, and state_mutex_.
|
inline |
Definition at line 64 of file RowSetMemoryOwner.h.
References count_distinct_bitmaps_, and state_mutex_.
|
inline |
Definition at line 72 of file RowSetMemoryOwner.h.
References count_distinct_sets_, and state_mutex_.
|
inline |
Definition at line 77 of file RowSetMemoryOwner.h.
References group_by_buffers_, and state_mutex_.
|
inline |
Definition at line 139 of file RowSetMemoryOwner.h.
References lit_str_dict_proxy_, and state_mutex_.
|
inline |
|
inline |
Definition at line 110 of file RowSetMemoryOwner.h.
References CHECK_EQ, state_mutex_, and str_dict_proxy_owned_.
Referenced by getOrAddStringDictProxy().
|
inline |
Definition at line 82 of file RowSetMemoryOwner.h.
References state_mutex_, and varlen_buffers_.
|
inline |
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.
Definition at line 92 of file RowSetMemoryOwner.h.
References CHECK_EQ, Data_Namespace::AbstractBuffer::getType(), Data_Namespace::GPU_LEVEL, state_mutex_, and varlen_input_buffers_.
|
inline |
Definition at line 49 of file RowSetMemoryOwner.h.
References allocator_, CHECK, and state_mutex_.
Referenced by anonymous_namespace{QueryMemoryInitializer.cpp}::alloc_group_by_buffer().
|
inline |
Definition at line 55 of file RowSetMemoryOwner.h.
References allocator_, CHECK, count_distinct_bitmaps_, and state_mutex_.
|
inline |
Definition at line 174 of file RowSetMemoryOwner.h.
References arena_block_size_, lit_str_dict_proxy_, and str_dict_proxy_owned_.
|
inline |
Definition at line 145 of file RowSetMemoryOwner.h.
References lit_str_dict_proxy_, and state_mutex_.
StringDictionaryProxy * RowSetMemoryOwner::getOrAddStringDictProxy | ( | const int | dict_id_in, |
const bool | with_generation, | ||
const Catalog_Namespace::Catalog * | catalog | ||
) |
Definition at line 218 of file Execute.cpp.
References addStringDict(), CHECK, CHECK_EQ, CHECK_LE, g_cache_string_hash, StringDictionaryGenerations::getGeneration(), Catalog_Namespace::Catalog::getMetadataForDict(), lit_str_dict_proxy_, REGULAR_DICT, and string_dictionary_generations_.
|
inline |
Definition at line 185 of file RowSetMemoryOwner.h.
References string_dictionary_generations_.
|
inline |
Definition at line 127 of file RowSetMemoryOwner.h.
References CHECK, state_mutex_, and str_dict_proxy_owned_.
quantile::TDigest * RowSetMemoryOwner::newTDigest | ( | ) |
Definition at line 241 of file Execute.cpp.
References g_approx_quantile_buffer, g_approx_quantile_centroids, state_mutex_, t_digest_buffers_, and t_digests_.
|
inline |
Definition at line 181 of file RowSetMemoryOwner.h.
References string_dictionary_generations_.
|
friend |
Definition at line 218 of file RowSetMemoryOwner.h.
|
friend |
Definition at line 217 of file RowSetMemoryOwner.h.
|
private |
Definition at line 213 of file RowSetMemoryOwner.h.
Referenced by allocate(), and allocateCountDistinctBuffer().
|
private |
Definition at line 212 of file RowSetMemoryOwner.h.
Referenced by cloneStrDictDataOnly().
|
private |
Definition at line 203 of file RowSetMemoryOwner.h.
Referenced by addArray().
|
private |
Definition at line 207 of file RowSetMemoryOwner.h.
Referenced by addColBuffer(), and ~RowSetMemoryOwner().
|
private |
Definition at line 198 of file RowSetMemoryOwner.h.
Referenced by addCountDistinctBuffer(), and allocateCountDistinctBuffer().
|
private |
Definition at line 199 of file RowSetMemoryOwner.h.
Referenced by addCountDistinctSet(), and ~RowSetMemoryOwner().
|
private |
Definition at line 200 of file RowSetMemoryOwner.h.
Referenced by addGroupByBuffer(), and ~RowSetMemoryOwner().
|
private |
Definition at line 205 of file RowSetMemoryOwner.h.
Referenced by addLiteralStringDictProxy(), cloneStrDictDataOnly(), getLiteralStringDictProxy(), and getOrAddStringDictProxy().
|
mutableprivate |
Definition at line 215 of file RowSetMemoryOwner.h.
Referenced by addArray(), addColBuffer(), addCountDistinctBuffer(), addCountDistinctSet(), addGroupByBuffer(), addLiteralStringDictProxy(), addString(), addStringDict(), addVarlenBuffer(), addVarlenInputBuffer(), allocate(), allocateCountDistinctBuffer(), getLiteralStringDictProxy(), getStringDictProxy(), and newTDigest().
|
private |
Definition at line 204 of file RowSetMemoryOwner.h.
Referenced by addStringDict(), cloneStrDictDataOnly(), and getStringDictProxy().
|
private |
Definition at line 206 of file RowSetMemoryOwner.h.
Referenced by getOrAddStringDictProxy(), getStringDictionaryGenerations(), and setDictionaryGenerations().
|
private |
Definition at line 202 of file RowSetMemoryOwner.h.
Referenced by addString().
|
private |
Definition at line 210 of file RowSetMemoryOwner.h.
Referenced by newTDigest().
|
private |
Definition at line 209 of file RowSetMemoryOwner.h.
Referenced by newTDigest().
|
private |
Definition at line 201 of file RowSetMemoryOwner.h.
Referenced by addVarlenBuffer(), and ~RowSetMemoryOwner().
|
private |
Definition at line 208 of file RowSetMemoryOwner.h.
Referenced by addVarlenInputBuffer(), and ~RowSetMemoryOwner().